| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1969 人关注过本帖
标题:编写一个程序,将字符串中的空格字符删除..............,求助
只看楼主 加入收藏
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:4 
编写一个程序,将字符串中的空格字符删除..............,求助
编写一个程序,将字符串中的空格字符删除,每删除一个空格,后续字符依次前移,这里设字符串是以0结尾的!
程序代码:
DSEG SEGMENT
   VAR1 DB "ABCDEF T YQ0"
DSEG ENDS
CSEG SEGMENT
  ASSUME CS:CSEG ,DS:DSEG
  START:
  MOV AX,DSEG
  MOV DS,AX
  LEA SI,VAR1
NEXT:
  CMP BYTE PTR  DS:[SI],00H
  JZ EXIT
  CMP BYTE PTR DS:[SI],20H
  JNZ DISP1
DISP:
  MOV BX,SI
  INC BX
  MOV AL,DS:[BX]
  MOV BYTE PTR DS:[BX-1],AL
  CMP BYTE PTR DS:[BX+1],00H
  JNZ DISP
DISP1:
  INC SI
  JMP NEXT
EXIT:
  MOV AH,4CH
  INT 21H
CSEG ENDS
END START
这是我写了一个,好像是个死循环,求高手解答!还有就是这个问题如果中间有很多个空格,该怎么写程序呢?
搜索更多相关主题的帖子: 空格 字符 编写 
2010-10-26 09:27
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:20 
DSEG SEGMENT
   VAR1 DB "ABCDEF T YQ0",0
DSEG ENDS
CSEG SEGMENT
  ASSUME CS:CSEG ,DS:DSEG
START:
  MOV AX,DSEG
  MOV DS,AX
  LEA SI,VAR1
  mov bx,si        ;bx和si同时指向数组
NEXT:
  CMP BYTE PTR [SI],00H
  JZ EXIT
  CMP BYTE PTR [SI],20H
  JNZ DISP1
DISP:
  inc si            ;遇到空格不保存
  jmp next
DISP1:
    mov al,[si]
    mov [bx],al        ;非空格和0保存(原数组位置)
  INC SI
  inc bx
  JMP NEXT
EXIT:
    mov [bx],0        ;数组最后保存个0
  MOV AH,4CH
  INT 21H
CSEG ENDS
END START
2010-10-26 11:42
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
mov [bx],0
楼上的大侠,这句应该改成这样 mov byte ptr [bx],0;

付出终将有回报!Ibelieve!
2010-10-26 13:05
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
谢谢那位大侠了!!

付出终将有回报!Ibelieve!
2010-10-26 13:06
快速回复:编写一个程序,将字符串中的空格字符删除..............,求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014553 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved