当前位置: 代码迷 >> C语言 >> 怪异的运行结果
  详细解决方案

怪异的运行结果

热度:161   发布时间:2006-07-31 13:33:10.0
[QUOTE]
#include <stdio.h>
main()
{
printf("hskd");
return 0;
getch();
}
[/QUOTE]
我认为这条代码不能编译,我编译过了,确实不能编译(TC3.0和gcc),不知道你用的什么编译器,那么厉害。
#include <stdio.h>
main()
{
printf("hskd");
getch();
}
这条代码在早期的TC2.0上编译没问题,可以正常运行。
----------------解决方案--------------------------------------------------------
以下是引用ccjamting在2006-7-31 10:15:42的发言:
#include <stdio.h>
main()
{
printf("hskd");
return 0;
getch();
}
////////////////////////////////////////
#include <stdio.h>
main()
{
printf("hskd");
getch();
}
也就是删掉了:return 0; 这一语句
/////////////////////////////////////////
这涉及到缓存的问题,当系统有事件触发时,printf进行显示,也就是getch()触发。
而你第一次还没有进行getch()触发就return 0所以printf没有被触发执行。
这就是没有显示的原因。

关于以上描述(18楼 )的更正,关于printf缓冲问题,是捕捉当前画面输入时的问题,可能与主题无关,特此更正。


----------------解决方案--------------------------------------------------------
楼主这个问题太无聊,return 0;放到getch();之前,使得getch()毫无意义!
编译程序会自动把getch()这条语句查杀的,

----------------解决方案--------------------------------------------------------

han2y


等级:论坛游民
文章:143
积分:3108
注册:2006年5月4日

..火星人


----------------解决方案--------------------------------------------------------
看你们说话怎么跟看天书一样~
----------------解决方案--------------------------------------------------------
  相关解决方案