当前位置: 代码迷 >> C语言 >> 这个C程序为什么这么执行,不是顺序执行的吗?
  详细解决方案

这个C程序为什么这么执行,不是顺序执行的吗?

热度:142   发布时间:2007-10-14 13:30:06.0
以下是引用huxs在2007-10-14 12:36:55的发言:

谢谢大家啊,懂一点了
还有个小问题   程序中两个getchar();语句有什么作用呢??

ch=getchar();
getchar();//接收前面输入结束的换行符.
switch(ch)
{
case'y':printf("continue!!!\n");break;
case'n':exit(0);break;
default:break;
}
}
getchar();这个就没有什么作用了,可能为了停顿显示功能吧.


----------------解决方案--------------------------------------------------------
以下是引用wangfeng2500在2007-10-14 12:42:52的发言:
这个程序不大对,输入ty只要有y也可以continue,有点bug!

不对,这样ch就是t了,怎么会continue.


----------------解决方案--------------------------------------------------------
终于明白了,我把两条getchar();语句去掉后运行,结果是一样的,所以这两句都没什么作用.
----------------解决方案--------------------------------------------------------

#include "stdafx.h"

int main(int argc, char* argv[])
{
char ch;
printf("Input 'Y' to continue or input 'N' to exit!\n");
while(1)
{
ch=getchar();
getchar();
switch(ch)
{
case'y':printf("continue!!!\n");break;
case'n':return 0;break;
default:break;
}
}
getchar();
return 0;
}


----------------解决方案--------------------------------------------------------
看了下你的程序,加个头文件就好了------------#include <stdlib.h>

exit()是个函数吧
----------------解决方案--------------------------------------------------------

是啊,谢谢啊


----------------解决方案--------------------------------------------------------
  相关解决方案