关于#c语言#的问题,请各位专家解答!

img


关于#c语言#的问题,请各位专家解答!
输入一行文字,分别统计出英文字母,空格 ,数字,其他文字

for 循环() 中三个条件,第一个条件只会执行一次,也就是说 c=a[i] 而i =0,所以你的c永远等于 a[0]。
后面虽然 i 一直在变,但是c 永远不变的。
你如果想代码改动量最小,在for() 的 i++ 之后加上 c=a[i] 即改成:
for (i = 0, c = a[i]; i < strlen(a); i++, c=a[i])

c=a[i]你只执行了一次啊,循环过程中,c的值一直是a[0]
实际上不需要变量c,你将循环代码中的c都换成a[i]就行了

把for() {} 循环里, 有字符变量 c 的语句的 c 全部用 a[i] 替换。把for( i=0, c=a[i] ;......) 这里 c = a[i] 这句删除不用。