#include
int main()
{
int i,t=0;
char a[100];
printf("please enter 字母:\n");
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='32') //32是空格的ascall码
t++;
}
printf("空格个数为:%d\n",t);
return 0;
}
既然是用ascii码判断,直接判断a[i]==32就好了。或者使用a[i]==' '这种方式
嗯嗯,我觉得应该帮楼主指出错误,返回空格数不对的原因是因为:32已经是‘ ’(空格)字符的ascii码了,没有必要再加‘’了,
加了之后就直接变成了另一个值了,所以当然判断出错误的结果了
所以程序应该这样写:if(a[i]==‘ ’)