
正文
c语言编程输入数据回车无反应,c语言怎么输入回车而不运行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么c语言运行时回车没反应
1、逻辑错误。while(x=0),输入的x为非负整数时,一直执行循环体内语句s=s+x;k++;陷入死循环。
2、因为scanf只接收了你输入的两个数,并没有接受回车。所以当你在后面getchar或者system(pause)的时候,这两个函数就会把前面的回车接收了,也就认为你按下了按键。正确的做法是在scanf后先getchar把这个回车接收了。
3、C语言在向计算机输入文本文件时,将回车换行符转换为换行符,在输出时把换行符转换成回车和换行两个字符。在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一对应。
4、原因是当你敲下回车时,代表开始统计字符数量,而C语言中,EOF常被作为文件结束的标志。
5、一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。
相关问答
Q1: c语言编程执行后输入数据回车后为什么无反应
1、没有反应的原因有很多种。比如错误输入,类型错误,代码逻辑错误。不同的情况应该分开分析。例如 scanf(%lf %lf\n,&x,&e);这样的语句在回车后就没有反应,必须输入\n后才会有反应。因为非输出控制符必须原样输入。
2、应该是软件问题,把编译软件关掉重新打开试试。vc++有时候会出问题。
3、原因是当你敲下回车时,代表开始统计字符数量,而C语言中,EOF常被作为文件结束的标志。
4、逻辑错误。while(x=0),输入的x为非负整数时,一直执行循环体内语句s=s+x;k++;陷入死循环。
5、scanf(%d\n,t);应该为 scanf(%d\n,&t);原来写错了,所以输入的数并没有送入变量t,而是不知道送到哪里了。至于变量t的值是保留的内存中原有值,不一定是多少。如果恰好是0,那么就是您说的现象。
Q2: C语言问题:输入一个数,多次回车没反应,要再次输入才有反应,为什么?而且...
1、&e);这样的语句在回车后就没有反应,必须输入\n后才会有反应。因为非输出控制符必须原样输入。\n在scanf函数当中并不是控制符,这里没当成换行符使用。用scanf 不要加入“\n”非输入控制符,系统在运行时会自动换行。
2、输入格式问题。scanf(%s\n,a);表示你输完一个字符串之后还需要再输入一个回车。但是键盘输入以回车为字符串的结束符。第一个回车表示字符串输入完毕,还需要输入格式里的\n的回车。
3、float不可能精确=0。假设平方根小于原数是错误的,(0,1)内的平方根比原数大,0,1的平方根等于原数。另外,你的程序改写了a的值,a已经不是原数。
Q3: ...程序没有错误,但运行不出来?输入数字后按enter键总是出现错误,运行...
电脑enter键没反应原因如下:卡键所引起的,键盘里面的硅胶垫被卡住了,这个时候可以拿一个细点的小一字头螺丝刀来撬开键盘按键。
因为代码没有问题,只是输入时要先输入个数n,再输入n个数,最后输入一个要找的数——这代码没有输入错误提示,所以输入错了就没有输出,等待下一次输入。
whie(c!=0 || d!=0){...}是死循环,因为不可能有c和d同时为0的时候。求两数的最大公约数和最小公倍数是很简单的过程,这代码把关系搞得很复杂,即使没有错误也是不可取的。
原因就是你的输入函数写的有问题,你的格式控制列表是这样写的:a=%f,b=%f,c=%f\n,把后面的字符\n去掉就可以了,这样程序就能正常运行了。
而C语言中,EOF常被作为文件结束的标志。
Q4: c语言问题:图中这个程序咋过运行不了,输入数据后没有反应
1、scanf()函数的要求是输入的格式与格式控制字符串的要求保持一致,既然格式控制字符串有\n,那么在输入时也必须对应的有一次回车,所以这里需要两次回车。scanf()一般情况下不应该出现\n,除非知道这样用的后果。
2、亲,直接输入一个串数字,表示的变量是第一个变量哦,相当于第一个变量接收的值是123,而后边的两个变量还没有值,所以才提示你继续输入,而没有运行结果。
3、等待输入\n,可是scanf把最后打入的\n当作接收命令而不赋给变量,所以要再输入一个数据再打回车才能向下走,而且输入的是上一次的数据,第二次打入的数据并未接收。所以这种写法是错误的,要坚决避免。
4、&e);这样的语句在回车后就没有反应,必须输入\n后才会有反应。因为非输出控制符必须原样输入。\n在scanf函数当中并不是控制符,这里没当成换行符使用。用scanf 不要加入“\n”非输入控制符,系统在运行时会自动换行。
5、int a[10];for(/*循环控制变量为i*/){ scanf(%d, &a[i]);//要获取a[i]的地址才行 } 暂时想到的应该就这几种主要的应用场景,其他没想到的也都是同理,能反应地址信息就不需要&,不能的话就需要。
6、二维字符串数组a[n][m],其中a[n]的是行指针,表示的一行数据。所以在你图中代码char c[5][20];c[i]就表示一行字符串的首地址。同理s数组也是。
关于c语言编程输入数据回车无反应和c语言怎么输入回车而不运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





