使用指针法删除字符串的所有尾部空格。用c语言!还有啥是尾部空格啊?

如题所述

int main()
{
char str[256];
gets(str);
int n = strlen(str);
if(n<=0)
return 0;
char *p = str;
p += n-1; //把p的指针移动到字符串的末尾
while(*(--p)==' ')
{
*p = '\0';
} //指针由末尾向前移动,遇到空格就把空格替换成'\0',也就是字符串的结束符
puts(str);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-28
例如:数组变量中保存的字符串是"abc ",保存在内存的数据是这样的:

0x61,0x62,0x63,0x20,0x20,0x20,0x00,0x00……
使用strlen可以计算出字符串的长度,然后使用指针指向数组中和字符串长度对应的那个元素,然后循环向前判断依次判断是否等于0x20,如果等于0x20则将其数值替换为0x00,找到一个不是0x20的元素则停止循环,循环的次数要小于字符串长度。

以上,就OK了。 0x00数据其实就是字符串的结束符。追问

能不能把回答换成c语言程序的形式?谢谢。。。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网