我看到书上有个例了,
它上面说repz scasb 就能去掉,我在想scasb只是搜索,又不改变存储空间的值,怎么会去掉字符串中的空格呢?,大家说一般是怎样去掉的啊?
------解决方案--------------------------------------------------------
它上面说repz scasb 就能去掉.
我是这样理解的:在字符串中如果找到了 ' '字符,则DI指向匹配字符串后面的一个字符,也就是空格后面的字符,这时只要从DI所指的位置开始将字符依次赋值到这一个位置就可以去掉空格了.
另一种方法:扫描字符串,将不是空格的字符压入堆栈,扫描完后,将字符弹出堆栈.
初学不对之处请原谅!!!!
------解决方案--------------------------------------------------------
/*
*/
#include <stdio.h>
#include <iostream>
using namespace std;
void del_space(char str[])
{
char *i = str;
char *j = str;
while( *i != '\0 ' )
{
if( *i != ' ' )
{
*j = *i;
j++;
}
i++;
}
*j = '\0 ';
}
void main()
{
char a[20] = "I am an old boy ";
cout < <a < <endl;
// Delete space
del_space(a);
cout < <a < <endl;
}
你参考一下。
要关门了。