编程实现:输入一行字符(以回车键结束),统计并输入其中英文字母,数字和其他字符的个数?
#include<stdio.h>main(){intnum=0,word=0,others=0;charc;while(c=getchar()!='\n'){if(c>...
#include<stdio.h>
main()
{int num=0,word=0,others=0;
char c;
while(c=getchar()!='\n')
{if(c>='0'&&c<='9') num++;
else if(c>='A'&&c<='Z') word++;
else if(c>='a'&&c<='z') word++;
else others++;
}
printf("num=%d\nword=%d\nothers=%d\n",num,word,others);
}
为什么结果都是others有数,其他都都等于0? 展开
main()
{int num=0,word=0,others=0;
char c;
while(c=getchar()!='\n')
{if(c>='0'&&c<='9') num++;
else if(c>='A'&&c<='Z') word++;
else if(c>='a'&&c<='z') word++;
else others++;
}
printf("num=%d\nword=%d\nothers=%d\n",num,word,others);
}
为什么结果都是others有数,其他都都等于0? 展开
3个回答
展开全部
你把这一句中间加一对括号就对了。
while((c=getchar())!='\n')
不加的话计算机会理解为
while(c=(getchar()!='\n'))
因为后一个!=的优先级高。
while((c=getchar())!='\n')
不加的话计算机会理解为
while(c=(getchar()!='\n'))
因为后一个!=的优先级高。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<conio.h>
void main()
{
int num=0,word=0,others=0;
char c;
while(1) {
c = getch();
if (c == 13) break;
printf("%c", c);
// while(c = getchar() != '\n') {
if (c >= '0' && c <= '9') num++;
else if (c >= 'A' && c <= 'Z') word++;
else if (c >= 'a' && c <= 'z') word++;
else others++;
}
printf("\nnum = %d\nword = %d\nothers = %d\n", num, word, others);
}
#include<conio.h>
void main()
{
int num=0,word=0,others=0;
char c;
while(1) {
c = getch();
if (c == 13) break;
printf("%c", c);
// while(c = getchar() != '\n') {
if (c >= '0' && c <= '9') num++;
else if (c >= 'A' && c <= 'Z') word++;
else if (c >= 'a' && c <= 'z') word++;
else others++;
}
printf("\nnum = %d\nword = %d\nothers = %d\n", num, word, others);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询