DEV-C++运行不显示结果为什么?

#include "stdio.h"
main()
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:printf("我是学生");break;
case 2:printf("我是工人");break;
case 3:printf("我是职员");break;
case 4:printf("我是司机");break;
}
getchar();
}
就是这个程序对吗?如果错请指明 谢谢
运行结果没显示,什么原因?getchar()什么用的?有重谢

事实上,所有的 Console 程序都是运行完成后自动退出的。 

    在 Windows 中,如果直接从资源管理器里运行 Console 程序,运行完成后也会自动退出。这与无穷消息循环的 WinGUI 程序不同,所以你看不到输出结果。

    而如果在 CMD 命令行里运行,完成后也会退出,不过是返回了 CMD,所以还能看到输出的结果。

    实际上这个程序已经输出了结果,但由于完成后自动退出了,所以看不到而。

    getchar() 就是等待你输入一个数据,这样可以延缓程序完成的时间,保持输出窗口不关闭。以保证可以看到输出结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
事实上,所有的 Console 程序都是运行完成后自动退出的。

在 Windows 中,如果直接从资源管理器里运行 Console 程序,运行完成后也会自动退出。这与无穷消息循环的 WinGUI 程序不同,所以你看不到输出结果。

而如果在 CMD 命令行里运行,完成后也会退出,不过是返回了 CMD,所以还能看到输出的结果。

实际上这个程序已经输出了结果,但由于完成后自动退出了,所以你看不到而已。

getchar() 就是等待你输入一个数据,这样可以延缓程序完成的时间,保持输出窗口不关闭。以保证你可以看到输出结果。

有时候你需要两个 getchar()。例如在这个例子中就是如此。本回答被提问者采纳