有一个问题
本帖最后由 超凡天赐 于 2017-1-21 23:05 编辑#include <stdio.h>
int main() {
char a;
int alpha1,alpha2,space,number,others;
int i=0;
while((a=getchar())!='\n')
i++;
a='\0';
i=0;
while(a!='\0')
{
if(a>='A'&&a<='Z')
alpha1++;
else if(a>='a'&&a<='z')
alpha2++;
else if(a==' ')
space++;
else if(a>='0'&&a<='9')
number++;
else
others++;
i++;
}
printf("%d %d %d %d %d ",alpha1,alpha2,space,number,others);
return 0;
}
这是一个统计大小写字母,空格,以及其它字符个数的程序。我认为是a='\0',而不是a='\0',因为我认为a已经被赋予一个字符的值。但是这样在实际运行时并不正确,请问一下为什么??? 大兄弟 你把alpha1,alpha2,space,number,others;他们赋个初值就ok
{:5_91:} 一起加油 alpha1,alpha2,space,number,others各赋值0,你在第一个while循环结束之后定义a='\0',那么a就是代表那个‘\n’ yslieff 发表于 2016-10-23 13:50
alpha1,alpha2,space,number,others各赋值0,你在第一个while循环结束之后定义a='\0',那么a就是代表那个‘\n ...
为什么我定义a='\n',a='\n' 超凡天赐 发表于 2016-10-25 10:35
为什么我定义a='\n',a='\n'
仔细看你自己写的代码 兄弟你写的 是 C语言 代码 里 的第一 个 while循环里面 i=0;什么意思{:5_107:}
页:
[1]