我正在尝试删除字符数组(字符串)末尾的空格。
这是我正在做的伪代码,但它不断删除整个字符串:
if(string length - 1 != a space)
return
否则,它必须等于一个空格,所以
while *mypointer-- != a space
//This should loop back to where there is a character.
在 while 循环之外,我现在通过执行以下操作向指针添加 1
mypointer ++;
然后设置 mypointer '\0' 以表示字符串结束。
我在这段时间里做了一些根本性错误的事情,但我似乎无法弄清楚。可能是什么?
最佳答案
有点洞察力:
while(*mypointer == a space) {
--mypointer;
}
mypointer[1] = '\0';
注意它是 == 一个空格而不是 != 一个空格。
<小时/> 编辑: 如果我要写这个,我可能真的会使用类似的东西:#include <string.h>
...
char *mypointer = strrchr(string, ' ');
if (mypointer) *mypointer = '\0';
关于c - 被 C 语法困住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2275631/