while((c=getchar())!='\n')的意思
一个程序#include<stdio.h>main(){charc;while((c=getchar())!='\n'){switch(c-'2'){case0:case...
一个程序
#include<stdio.h>
main()
{
char c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);break;
case 3:
putchar(c+3);
default:
putchar(c+2);break;
}
}
printf("\n");
return 0;
}
输入2473<回车>,结果是668977,谁能解释一下吗? 展开
#include<stdio.h>
main()
{
char c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);break;
case 3:
putchar(c+3);
default:
putchar(c+2);break;
}
}
printf("\n");
return 0;
}
输入2473<回车>,结果是668977,谁能解释一下吗? 展开
5个回答
展开全部
while((c=getchar())!='\n')的意思是:一直循环,等到用户输入回车为止,结束循环。
当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。
(c=getchar())!='\n'表示的条件语句意思是:判断用户的输入字符不是'\n',即回车,只要用户输入的不是回车,while循环就会一直执行。
扩展资料:
getch与getchar功能比较:
1、getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1,输入的字符不会回显在屏幕上。
2、getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。
参考资料来源:百度百科-getchar()
参考资料来源:百度百科-while
展开全部
原式应该是这个吧while(getchar()!=‘\n’)n++
这是循环结构中的循环条件,作用是用来计算你从键盘输入的所有字符的个数(字符数量),①"getchar()"是从键盘输入的意思,你可以从键盘输入很多字符,但这是一个循环条件,怎样设置条件呢,就设置为②当我们敲键盘上的回车键enter的时候("!=‘\n’",\n换行,相当于enter,"!=‘\n’"非换行,即没按enter的时候它继续循环,你输入一个字符,n它就自己加1记录,这一部分的意思就是这样,或许我们看不懂就是这一段吧),③n++按课本的意思是"循环体n++用来对输入字符的个数计数",就是这么神奇ԅ(¯ㅂ¯ԅ),更通俗一点就是,你每从键盘输入一个字符,n它就自增1来计算你输入了多少个字符...题外话,它可以计算出你从键盘输入的整数有几位...ԅ(¯ㅂ¯ԅ)...当你从键盘按enter键它就会停止循环,并把输入的字符统计数量,并输出来...其是我这样输入很麻烦,我就是不满意,那些答案,我也不太懂,明白了,回来说一次😁,希望能帮到疑惑你们...
这是循环结构中的循环条件,作用是用来计算你从键盘输入的所有字符的个数(字符数量),①"getchar()"是从键盘输入的意思,你可以从键盘输入很多字符,但这是一个循环条件,怎样设置条件呢,就设置为②当我们敲键盘上的回车键enter的时候("!=‘\n’",\n换行,相当于enter,"!=‘\n’"非换行,即没按enter的时候它继续循环,你输入一个字符,n它就自己加1记录,这一部分的意思就是这样,或许我们看不懂就是这一段吧),③n++按课本的意思是"循环体n++用来对输入字符的个数计数",就是这么神奇ԅ(¯ㅂ¯ԅ),更通俗一点就是,你每从键盘输入一个字符,n它就自增1来计算你输入了多少个字符...题外话,它可以计算出你从键盘输入的整数有几位...ԅ(¯ㅂ¯ԅ)...当你从键盘按enter键它就会停止循环,并把输入的字符统计数量,并输出来...其是我这样输入很麻烦,我就是不满意,那些答案,我也不太懂,明白了,回来说一次😁,希望能帮到疑惑你们...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=getchar())!='\n'就是从控制台读入一个字符c 循环中止的条件是回车键
输入2 执行:case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);break; 也就是输出66
输入4 执行:
case 2:
putchar(c+4);break; 也就是输出8
输入7
执行 :
default:
putchar(c+2);break; 输出9
输入3
执行 :
case 1:
putchar(c+4);
case 2:
putchar(c+4);break;也就是 输出 77
所以 输出的是668977 懂了吧
输入2 执行:case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);break; 也就是输出66
输入4 执行:
case 2:
putchar(c+4);break; 也就是输出8
输入7
执行 :
default:
putchar(c+2);break; 输出9
输入3
执行 :
case 1:
putchar(c+4);
case 2:
putchar(c+4);break;也就是 输出 77
所以 输出的是668977 懂了吧
更多追问追答
追问
为什么这个是一个字符一个字符读取的?而非2473一起读入。
追答
这是getchar() 啊,作用就是每次从控制台读入一个字符 你输入的时候是一起输入的 但是他放在了那个缓存里 一次读入一个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先输入数据,之后getchar()的返回值一个接一个赋给c, 然后比较c是不是不等于'回车键,如果不等于回车键就会执行循环。如果等于就会结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while((c=getchar())!='\n')的意思就是录入的字符不是回车键字符就执行循环里面的命令!直到录入回车键字符 就退出循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询