c语言编程中为什么我输入数按enter键后没有出结果屏幕直接就没有了

#include <stdio.h>
main()
{int x,y;
printf("enter x & y:\n");
scanf("%d%d",&x,&y);printf("x=%d,y=%d",x,y);
if(x>y)printf("x=%d",x);
if(y>x)printf("y=%d",y);
if(x==y)printf("x==y %d:\n",x);
}
后面加了getchar();不管用啊!

这样做:

#include <stdio.h>
main()
{int x,y;
printf("enter x & y:\n");
scanf("%d%d",&x,&y);printf("x=%d,y=%d",x,y);
fflush(stdin);//这个是用来清空缓冲区中的用户输入的回车,防止影响getchar()
if(x>y)printf("x=%d",x);
if(y>x)printf("y=%d",y);
if(x==y)printf("x==y %d:\n",x);

getchar();//这是再加getchar()就OK了
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-29
你应该用getch();
而不是getchar();
如果说加getch不能用的话
那就是你的代码有问题
出现严重的错误
致使操作系统将他强制结束
不过你这个没有问题
你使用getch();
或者使用system("pause");
就可以了
第2个回答  2009-08-29
getchar();加在后面

加一个等待输入的空函数!就会留住MS-DOS窗口,
等待你的输入,不会影响你前面所编的程式。
第3个回答  2019-04-02
如果不想重复输入,节省体力,可以先在记事本里准备好类似如下文本
a
b
c
然后一次性复制粘贴到cmd窗口
第4个回答  2009-08-29
使用了scanf函数 需要最后用2个getchar

c语言编程中为什么我输入数按enter键后没有出结果屏幕直接就没有了
{int x,y;printf("enter x & y:\\n");scanf("%d%d",&x,&y);printf("x=%d,y=%d",x,y);fflush(stdin);\/\/这个是用来清空缓冲区中的用户输入的回车,防止影响getchar()if(x>y)printf("x=%d",x);if(y>x)printf("y=%d",y);if(x==y)printf("x==y %d:\\n",x);getchar()...

...时候输完按下enter就直接关掉了。。没有输出结果?
代码没有设置好。#include <stdio.h>int main (void){double data1, data2;char op;double da;printf("Please input data1 op data2: ");while(scanf ("%lf %c %lf", &data1, &op, &data2)!=EOF){if (op == '+'){da = data1 + data2;printf ("%g + %g = %g\\n", da...

为什么C语言程序运行输入后没有输出
1、原因可能是输入格式不对,要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,如果把 scanf("%f,%f,%f\\n",&a,&b,&c);改为 scanf("%f%f%f",&a,&b,&c);就可以用空白符做分隔了 2、没有输出,不知道计算的结果那算法就没有意义了。输出不...

我用c语言编了一个程序,问题和我的方案如图,但是按回车却什么都不输出...
中改变了全局变量 i 的值,而 i 不仅是输出结果,还是最外层 while 循环的计数器,所以这个值一旦被改变整个循环就会混乱,最后出现死循环,导致程序无限运行无法输出结果。所以题主需要一个 i 的副本来完成上述循环,而不改变 i 本身的值。 另一点,题主的 sum 变量是全局的,所以每执行一次最外层循环后就必须将其...

C语言求助,为什么我这个程序输入数据后按enter没有反应啊? #include...
l;double a[6],b[6];printf("please input 6 numbers:\\n");for (f = 0; f < 6; f++) {scanf_s("%lf", &a[f]);}for (t = 0; t < 6; t++) {a[t] = a[t] * (3.14) \/ 180;};for (l = 0; l < 6; l++) {b[l] = sin(a[l]);printf("%lf\\n"...

c语言编程终端窗口按enter键后无法运行?
把代码贴上来看看,应该是有写错的地方,最可能的是scanf(“%d”,a);给a输入,你应该在a的前面加 取地址符号 &,变成scanf(“%d”,&a)

c语言程序运行的时候完成输入之后按回车键就一直停留在下一行不动,这...
就说明光标在等着你的输入……所以可能是你输入的数据不满足自己写的程序的规范 比如,程序写 scanf(“%d”,&a);scanf(“%d”,&b);假设你的a 要分别赋值1 2 这时 你的输入应该是1空格或者换行2,而非12。当然,这只是一个简单的例子,有它的不规范之处,但我觉得还是可以说明一些问题的。

C语言:我写的是偶数求平均数,为什么输入几个值后按回车,不输出平均数...
你这个循环结束条件是 i>=0,也就是说只要输入非负数,它会一直继续的,除非最后一个输入附属比如-1 另外,你那个n是总共输入的数字个数,不是偶数个数,这样结果肯定有问题

C语言编辑好的可执行程序,命令窗口为什么一按enter键就消失了?_百度知 ...
比如是 D:\\hello\\hello.exe,你需要在命令行里输入:C:\\Users\\x> d:D:\\> cd helloD:\\hello> hello.exe 输入hello.exe 和 hello 都可以, .exe的后缀有没有都可以执行。这样你就能看到结果了。一个简单的方法是建立一个cmd的快捷方式,如图,“起始位置” 一定要改成 %curdir% 。你只要把...

C语言中当输入一个字符或数字后要要按下enter键,但enter键在提示计算机...
其实是在输入后键入内容和回车一起进入到了缓冲区 如果没有把缓冲区内容读完那么下次再从缓冲区获取数据时就直接使用了遗留的缓冲区数据 一般来说会以换行符为结束 如果输入错误的话也会遗留其他数据 如果缓冲区只有一个换行符的话可以使用getchar来吸收换行符 或者fflush(stdin); rewind(stdin);来清空...

相似回答