请帮忙分析C语言程序片段

来源:百度知道 编辑:UC知道 时间:2024/05/10 04:02:21
delspace(char *s)
{char *p,*q;
p=q=s;
while(*q!='\0')
{ while(isspace(*q)) q++;
while(!isspace(*p++=*q)&&*q) q++;
}
}
帮忙分析这个函数如何实现的删除多余空格(每个单词之间至多有一个空格)的作用??看不懂了,谢谢

while(isspace(*q)) q++; 空格,跳过
while(!isspace(*p++=*q)&&*q) q++; 非空格,复制到p,然后q++继续循环
另外这种垃圾代码是那边的,写这种代码的人都可以去死了,给谁看啊?
多写几行别人看的容易,自己改起来也方便。这种不是优秀程序员的表现