C 语言代码错误分析:字符计数程序
C 语言代码错误分析:字符计数程序
#include <stdio.h>
int main( )
{
char x[100];
int i,b= 0, a=0 ,d=0,c=0;
fgets(x,100,stdin);
for(i=0 ; x[i]!='�';i+=) {
if (x[i]>='A'&&x[i]<='Z')
b++;
else if(x[i]>='a'&&x[i]<='z')
a++;
else if(x[i]>='0'&&x[i]<='9')
d++;
else if(x[i]== '')
c++;
}
printf("%d,%d,%d,%d\n"b,a,d,c,);
return 0;
}
这段代码的主要问题如下:
- 在 for 循环中,
i+=缺少步长,应该是i++或i+=1。 - if 判断中,字符空格应该是
' ',而不是''。 printf中,最后一个逗号应该删除。
修正后的代码:
#include <stdio.h>
int main( )
{
char x[100];
int i,b= 0, a=0 ,d=0,c=0;
fgets(x,100,stdin);
for(i=0 ; x[i]!='�';i++) {
if (x[i]>='A'&&x[i]<='Z')
b++;
else if(x[i]>='a'&&x[i]<='z')
a++;
else if(x[i]>='0'&&x[i]<='9')
d++;
else if(x[i]==' ')
c++;
}
printf("%d,%d,%d,%d\n",b,a,d,c);
return 0;
}
这段代码用于统计用户输入的字符串中字母、数字、空格和其它字符的数量。修改后的代码可以正确执行并输出统计结果。
原文地址: https://www.cveoy.top/t/topic/nV1D 著作权归作者所有。请勿转载和采集!