首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个很简单的字符串去掉空格的有关问题

2012-08-13 
一个很简单的字符串去掉空格的问题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=' '去掉就好了。

探讨

引用:

引用:

a[5]={1,2,3,4,5};
int *p = a;
int a = *(p++);与
int a = *(++p);
一样么? 自己试试a是多少

哦,下边不能是a了
a[5]={1,2,3,4,5};
int *p = a;
int c = *(p++);与
int c = *(++p);
一样么? ……

热点排行