if(a[i]==c); else b[j]=a[i],j++;和a[i]==c?0:b[j]=a[i],j++;的区别。。
#include <stdio.h>#include <string.h>
char b[80];
void yunsuan(char a[],char c);
int main(void)
{
char a[80],c;
int i;
gets(a);
puts("请输入要去除的符号:");
scanf("%c",&c);
yunsuan(a,c);
for(i=0;i<=80;i++)
printf("%c",b[i]);
return 0;
}
void yunsuan(char a[],char c)
{
int i,d,j;
d=strlen(a);
printf("%d\n",d);
for(j=0,i=0;i<=d;i++)
if(a[i]==c); else b[j]=a[i],j++;
}
这样运行正常。。 最后一句改成a[i]==c?0:b[j]=a[i],j++; 就不行了, 去不掉空格了。。- - 为什么呢