新手OJ,C语言 去除字符串中的所有空格模块, 不知为何出错,求大神指点

作用: 把数组a中的所有空格去除, 并把后面的往前移动。
例如: a b c
变成:abc

字符指针 *p *q 数组a[]

for(p=&a[0]; p!='\0'; p++)
if(*p==' ')
for(q=p; *(q+1)!='\0'; q++)
*q=
(q+1); //去除a字符串中的空格

但总是不对, 求大神指点。

 #include<stdio.h>
int main()
{
 char str[20];
 int i,k=0;
 gets(str);
 for(i=0;str[i]!='\0';i++)
 {
  if(str[i]!=' ')
    str[k++]=str[i];
 }
 str[k]=str[i];
 puts(str);
 return 0;
}

http://blog.csdn.net/xywlzd/article/details/8015861

应该是*q=*(q+1)吧

一楼正解。。。。。。。。

我。。。 评论居然是倒过来的