c语言简单问题:while(a!=”\n”)什么意思

[复制链接]
查看11 | 回复5 | 2010-7-6 13:00:51 | 显示全部楼层 |阅读模式
rt
21、输入一行字符(以回车键结束),统计其中英文字符,数字字符和空格字符出现的次数。
main()
{char a;
int b,c,d;
printf(“Enter”);
scanf(“%c,&a);
b=c=d=0;
while(a!=”\n”)
{if(a>=’0’&&a=’A’&&a=’a’&&a<=’z’)
c++;
if(a==’ ‘)
d++;
scanf(“%c”,&a);
}
printf(“b=%d,c=%d,d=%d”,b,c,d);
}
这是原函数
主要是a!后面那个感叹号什么意思

回复

使用道具 举报

千问 | 2010-7-6 13:00:51 | 显示全部楼层
换行这个字符的用‘\n’表示,题意是如果a不是换行即‘\n’,就进入while循环。另外,给你找个错: \n应该用单引号括起来,而不是双引号,因为\n表示一个字符而不是字符串,所以用单引号‘\n’而不用双引号
回复

使用道具 举报

千问 | 2010-7-6 13:00:51 | 显示全部楼层
意思是当输入的字符是回车标记时才结束循环。在这个代码中输入字符时程序会统计数字,字母,空格的个数,直到输入回车时结束计数并输出统计结果。
回复

使用道具 举报

千问 | 2010-7-6 13:00:51 | 显示全部楼层
while(a!='\n') 当a 字符不是换行符时,循环。当a字符为换行符时,循环结束。有代码的话可以解释更清楚。 补充 ==等于 != 不等于a后面那个感叹号是和等于连起来看的OK?
回复

使用道具 举报

千问 | 2010-7-6 13:00:51 | 显示全部楼层
'\n'指回车(换行符)那句while话指读到换行为止(即读完该行)
回复

使用道具 举报

千问 | 2010-7-6 13:00:51 | 显示全部楼层
但 a 不是 换行符(回车) 时
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行