Advertisement

汇编程序测试字符串空格删除 汇编程序测试字符串空格删除

阅读量:

程序需求:给定一个起始地址为string的字符串,要求将其内部所有的空格字符全部删除。处理过程需从字符串的末尾字符开始,依次向前进行判断与操作。
编程思路:假设字符串以0作为终止标识,采用从右至左的扫描方式,当检测到空格时,将该空格之后的所有字符整体向前移动一位,直至该空格位置。由于字符串长度会随着处理过程而发生变化,因此需要设置三个指针:tailP用于指向字符串末尾,scanP作为扫描指针,moveP用于移动操作。在汇编语言中,esi对应scanP,edi对应tailP,ebx对应moveP。

开发环境

Windows 10操作系统搭配Visual Studio 2017开发环境

C语言代码实现如下:

复制代码
 #include <stdio.h>

    
 #include <string.h>
    
 char string[] = "hello world ni hao shi jie!";
    
 int main()
    
 {
    
 	int scanP, tailP;
    
 	scanP = tailP = strlen(string);
    
 	while (scanP >= 0)
    
 	{
    
 		if (string[scanP] == ' ')
    
 		{
    

全部评论 (0)

还没有任何评论哟~