解释一段C语言源代码
voidmainmenu(){welcome();//欢迎函数//while(getchar()!='\n'){printf("pressEntertocontinue"...
void mainmenu()
{
welcome(); //欢迎函数//
while(getchar()!='\n')
{
printf("press Enter to continue ");
getchar();
}
printmainmenu(); //打印主菜单函数//
最主要的是while那一行,其中的判定条件没看懂,下面{ }中的getchar也顺便解释一下,我没弄懂在这个地方读取字符是干什么的。 展开
{
welcome(); //欢迎函数//
while(getchar()!='\n')
{
printf("press Enter to continue ");
getchar();
}
printmainmenu(); //打印主菜单函数//
最主要的是while那一行,其中的判定条件没看懂,下面{ }中的getchar也顺便解释一下,我没弄懂在这个地方读取字符是干什么的。 展开
4个回答
展开全部
getchar()就是你按下键盘下某个按键,返回相应的值。比如按下'A'返回'A',按下Enter返回'\n'.
所以while的判断条件的意思就是你按下的按键不是Enter就进入循环,是就跳出循环。
如果进入循环,第一条语句打印双引号里的话。第二条语句getchar()等待输入,随便按下一个按键回到循环判断。
个人认为第二条语句没有任何作用,最好去掉。因为回到判断的时候会要求再次输入,也就是不去掉第二条语句的话你要输入两次,并且第一次输入没有意义。
如果去掉第二条语句,那么整一个循环的目的就是让你按一次回车,按了回车之后跳出循环执行打印主菜单的函数。
所以while的判断条件的意思就是你按下的按键不是Enter就进入循环,是就跳出循环。
如果进入循环,第一条语句打印双引号里的话。第二条语句getchar()等待输入,随便按下一个按键回到循环判断。
个人认为第二条语句没有任何作用,最好去掉。因为回到判断的时候会要求再次输入,也就是不去掉第二条语句的话你要输入两次,并且第一次输入没有意义。
如果去掉第二条语句,那么整一个循环的目的就是让你按一次回车,按了回车之后跳出循环执行打印主菜单的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar() 是头文件<stdio.h>的一个函数,它的作用是从终端(即键盘)取得一个字符,用法:
char ch=getchar( );这时,从键盘输入一个字符,把它送给ch
while(getchar()!='\n') '\n'在C中是换行符,你输入的回车键就是'\n'。当入回车键时
getchar( )的返回值就是'\n',此时while语句的循环条件为0,所以不进行循环。
后面的getchar( );是得到一个字符,没有实际作用。
char ch=getchar( );这时,从键盘输入一个字符,把它送给ch
while(getchar()!='\n') '\n'在C中是换行符,你输入的回车键就是'\n'。当入回车键时
getchar( )的返回值就是'\n',此时while语句的循环条件为0,所以不进行循环。
后面的getchar( );是得到一个字符,没有实际作用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar()!='\n'
就是需要你输入一个字符,如果你输入的字符不是回车键,那上面的表达式为真,然后就进入while循环,否则脱离循环
另外说一句,下面的getchar();是多此一举
就是需要你输入一个字符,如果你输入的字符不是回车键,那上面的表达式为真,然后就进入while循环,否则脱离循环
另外说一句,下面的getchar();是多此一举
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询