一个很简单的字符串去掉空格的有关问题
一个很简单的字符串去掉空格的问题C/C++ code#include stdio.hvoid func(char *buf){char *p,*qpqbuf
一个很简单的字符串去掉空格的问题
C/C++ code#include <stdio.h>void func(char *buf){ char *p,*q; p=q=buf; while(*(++q)!='\n') //这条语句换成while(*q++!='\n')的话就会出现断错误, { if(*p==' ') { if(*q!=' ') { *p=*q; *q=' '; p++; } } else p++; }}int main(void){ char buf[100]; fgets(buf,100,stdin); func(buf); printf("%s",buf); return 0;}
就是上面写的问题,感觉q++和++q效果是一样的啊
[解决办法]单步调试和设断点调试是程序员必须掌握的技能之一。
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
[解决办法]把*q=' '去掉就好了。