C语言中用scanf需要输入的地方按回车怎么就退出了?

我用的是TC2.0
程序是这样的
main()
{int a;
scanf("a");
printf("a");
}
运行的时候输入了a的值,按下回车程序直接关闭了,而不是显示a,请问怎么解决啊?
不是程序错误,我只是表达程序的大概意思。最后那位老兄解决了问题,谢谢。

其实已经显示完a了,只不过太快了,你还没看见呢,程序就结束了。

你应该在printf("a"); 的后一行加上一个断点,再运行,程序会停下来。
也可以这样:
#include<cinio.h>

main()
{
int a;
scanf("%d",&a);
printf("%d",a);
getch();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-10
你是指退出显示介面了吗?这是由于程序执行完了,接收到了输入,显示的速度很快,程序结束就退出了。
第2个回答  2007-09-28
程序明显有错误!把scanf("a"); 改为:scanf("%d",&a);
printf("a"); 改为:printf("%d",a);
第3个回答  2007-09-28
main()
{int a;
scanf("a"); //改为:scanf("%d",&a);
printf("a"); //改为:printf("%d",a);
}

C语言中用scanf需要输入的地方按回车怎么就退出了?
你应该在printf("a"); 的后一行加上一个断点,再运行,程序会停下来。也可以这样:include<cinio.h> main(){ int a;scanf("%d",&a);printf("%d",a);getch();}

C语言,scanf语句不知道为什么被跳过了
因为我们在输入第一组的2个数时会输入“回车”,这个回车会被你第二个“scanf”函数捕获,你只要在第二个“scanf”语句前加一句“getchar();”就行了,代码如下:include "stdio.h"int main(){ int a,b;char Operator;printf("please input two number:");scanf("%d %d",&a,&b);printf("...

c语言中scanf函数输完后为什么会自动跳行,怎样能不让他跳行
在 scanf();前加上一句话;如 fflush(stdin);scanf("",);fflush(stdin);的作用是 清空缓存区 你输入完后 会回车 结束本次输入 这时回车也被当做一个字符 放到了缓存区 当你用了多个scanf();函数时 下一个函数会认为你给它的字符是回车 所以就不再让你再次输入了 给你举个完整...

c语言为什么我的程序运行后输入数后回车就显示停止运行。
scanf("%d\\n",t);应该为 scanf("%d\\n",&t);原来写错了,所以输入的数并没有送入变量t,而是不知道送到哪里了。至于变量t的值是保留的内存中原有值,不一定是多少。如果恰好是0,那么就是您说的现象。

C语言中的scanf()问题
%c %lf", &number1, &operation, &number2);之后你输入你的三个参数值后之后肯定输入了一个回车,第二个scanf会把这个回车符作为你scanf("%c", &choice);的内容,所以就直接跳过了,这是因为在函数会把你的输入内容存到输入缓冲区中,如果你上次输入内容多了,多的内容会一直存在缓冲区中,...

C语言 scanf输入回车或空格时停止输入
scanf("%d",&a[i]); 无此功能,当你连续按回车时,它继续等待输入数据。可以用gets(s);再sscanf读数。用strlen(s)判断为空行,则停止输入:include<stdio.h> include<stdlib.h> void main(){ int i,a[10];char s[20];for(i=0;i<10;i++) { gets(s);if (strlen(s) < 1) ...

如图,c语言做了个for循环scan(),结果为什么顺序会跳?
一、在每次输入完毕后,用scanf或getchar或getch把回车符号接收掉。二、在每次输入完毕后,用fflush清除输入缓冲区。下面是演示代码:include<stdio.h> int main(){ int i;char c;\/\/方法一:for(i=0;i<5;++i,scanf("%c",&c))\/\/方法二:for(i=0;i<5;++i,getchar())\/\/方法三:for(...

C语言:scanf不是需要用回车键来确认输入吗?
1、除了%c的输入而言:scanf输入:abc[回车]后,遇到回车结束,但是回车还留在输入流中。下一个scanf在输入前碰到回车,会自动把回车抛弃,然后再输入:efg,再碰到回车结束。所以加了getchar()时,它会吃掉一个回车。如果不加,在输入前,它会自动删除这个回车,所以结果是一样的。重点是:空格、...

c语言编程中为什么我输入数按enter键后没有出结果屏幕直接就没有了
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);get...

C语言中scanf函数的3种常见问题与应对技巧你都会了吗?
例如:int a = 123;输入:123 t 输出:123 t 通过检查scanf函数的返回值,确保所有参数正确读取,避免数据读取错误。总之,在使用scanf函数时,要格外注意输入格式和数据类型匹配,避免空白符和回车符的问题。通过上述解决方案,您可以在C语言编程中更有效地处理输入数据,避免常见错误。

相似回答