标题:刚学c,求大神指点。。。。
只看楼主
queifa
Rank: 1
等 级:新手上路
帖 子:25
专家分:9
注 册:2011-10-2
结帖率:85.71%
已结贴  问题点数:5 回复次数:9 
刚学c,求大神指点。。。。
#include <stdio.h>
void main()
{
char x;
int a=0,b=0,c=0,d=0,e=0;
printf("请输入一串字符:");
while((x=getchar())!='\n') //这句代码是什么意思,特别是:x=getchar()!='\n'是什么意思
{
if(x>='0'&&x<='9'){
a++;
}
else if(x>='A'&&x<='Z'||x>='a'&&x<='z'){
b++;
}
else if(x==' '){
c++;
}
else{
d++;
}
e++;
}

printf("你输入的数字个数为:%d\n",a);
printf("你输入的字母个数为:%d\n",b);
printf("你输入的空格个数为:%d\n",c);
printf("你输入的其他字符个数为:%d\n",d);
}


搜索更多相关主题的帖子: include while 
2011-10-05 09:31
我爱胡萝卜
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2011-10-3
得分:5 
x=getchar()='\n'表示到这里结束了。。
而x=getchar()!='\n'则表示不结束。。继续执行循环,
每个字符串。。系统都会在末尾配给它一个\n。。。
我也是初学者。。语言组织不是很好。如果有什么不对的地方。。
欢迎大家指点。。
2011-10-05 09:48
queifa
Rank: 1
等 级:新手上路
帖 子:25
专家分:9
注 册:2011-10-2
得分:0 
谢谢了。。。
2011-10-05 10:01
我爱胡萝卜
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2011-10-3
得分:0 
客气了。。如果有书的话。。还是仔细看书吧。。书上都有的
2011-10-05 10:07
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
得分:0 
二楼兄弟,你错了,while((x=getchar())!='\n')的意思是党2我们输入换行符时,循环结束,否则一直循环,还有
每个字符串,系统都会在末尾配给它一个\0。。。,不是\n
2011-10-05 10:17
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
得分:0 
换行符就是“回车”给你们简单例子理解一下吧:
#include<stdio.h>
void main()
{
   char ch;
   while((ch=getchar())!='\n')
       printf("%c\n",ch);
}
2011-10-05 10:22
NeXT__00
Rank: 2
等 级:论坛游民
帖 子:51
专家分:98
注 册:2011-9-5
得分:0 
e++没有什么用啊
2011-10-05 21:24
felixlx
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2011-10-6
得分:0 
回复 5楼 mengcan555
同意该楼兄弟的说法
2011-10-06 12:24
guang0725
Rank: 2
等 级:禁止访问
帖 子:70
专家分:70
注 册:2011-9-5
得分:0 
只要输入的不是回车字符,持续循环应该是这样
2011-10-07 16:55
我爱胡萝卜
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2011-10-3
得分:0 
呃。楼上的兄弟不好意思了。我给看错了。误导大家了。。不好意思。。\n表示的是回车的意思。。我先入为主的将代码看成是\0了-_-#
2011-10-16 19:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351600-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.323313 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved