C语言的While问题,程序的目的是通过输入首字母以及第二个字母判断是星期几
答案:2 信息版本:手机版
解决时间 2020-07-24 07:03
已解决
2020-07-24 02:24
case'Y'。
每个case完事后总会再输出一个Fmain()
{
char letter;n"。;n"
break,跳出switch后:
printf(");;);n"
case')
printf("
default;)!='W')
printf("ERROR\Thursday\:
if((letter=getchar())=='n"){
switch(letter){
case'T'
break;):
printf("n"。;
case';S'
break;;
case');)
printf("u'。;n"。不是应该break掉了吗。:
if((letter=getchar())=='Monday\n";);
break;Tuesday\a');n"F');Saturday\n")
printf("
else if ((letter=getchar())=='。;M'
break;Wednesday\。;Sunday\
else
printf("
else if ((letter=getchar())=='
else
printf(":
printf("n"):
printf(",然后输出F呢;
}
}
}
这样弄完之后,是为什么;Friday\)。;u'h'ERROR\,又会再判断一个不知道什么东西;F\。为什么每个case判断结束;
while((letter=getchar())
最佳答案
2020-07-24 03:09
你在getchar()之前应该加一句fflush(stdin); 来清除缓存中的回车才好
全部回答
1楼
2020-07-24 03:38
为什么不是呢?
程序的流程是这样到。getchar()每次读取一个字符,然后putchar()将该字符输出,然后返回值也是显示到那个字符的值,与!字符比较,来作为while循环到条件。
这里前5个字符都使循环成立,所以getchar()继续读,读完putchar()显示出来,然后判断while循环不成立,循环结束。但是!已经显示出来了。如果你输入qwert!abc,那么abc是肯定不会显示出来的。
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯