为什么要使用getchar?该如何解决

为什么要使用getchar?在这个程序中【基本题】有三个整数a、b、c,由键盘输入,输出其最大的数。我想问下为什么最

为什么要使用getchar?
在这个程序中【基本题】有三个整数a、b、c,由键盘输入,输出其最大的数。
我想问下为什么最后要 使用getchar(),有什么用吗?还是本身就是多余错误的?
#include <stdio.h>

/*
* 返回 3个整数的 最大值  
*/
int max(int a, int b, int c)
{
 int temp = 0;
 a > b ? temp = a : temp = b;
 c > temp ? temp = c : temp = temp;
 return temp;
}

int main()
{
 int a;
 int b;
 int c;
 printf("请输入3个整数(如:3 14 36) : \n");  
 scanf("%d%d%d", &a, &b, &c);
 printf("最大的数为:%d\n", max(a, b, c));
 getchar();
 getchar(); //??????????????为什么要使用
 return 0;
}

[解决办法]
你不加也可以……
[解决办法]
一般是debug调试时不让直接退出,而是按任意建继续。。。
[解决办法]
我感觉没什么用。
[解决办法]
多加了一个
[解决办法]
调试时 让控制台不一闪而过
[解决办法]
第一个getchar() 干掉输入的回车
第二个getchar() 是为了debug时不直接退出 over
[解决办法]
第一个 getchar() 用于“吃”掉输入流中的余留数据
第二个 getchar() 用于暂停程序的执行

参考http://baike.baidu.com/view/1390039.htm


另外,你这两句有问题吧?
a > b ? temp = a : temp = b;
c > temp ? temp = c : temp = temp;
[解决办法]
好像是清空输入缓冲区,以前见过这样的一个例子,不过忘在哪了……
[解决办法]
加一个就行了,不加也可以。就是为了让你在双击exe后,程序不会一闪而过看不到结果。也可以用system("pause")之类的,或者直接命令行里运行。