为什么这个代码运行时会使系统运行的很慢

来源:百度知道 编辑:UC知道 时间:2024/05/18 11:34:32
#include "stdio.h"
main()
{
int num;
while(num!='\n')
scanf("%d",&num);
printf ("%d",num);
}
当输入\n 时系统就变慢了,
那有什么方法能输入回车后终止循环

请问你这程序想干嘛?
首先你num根本没初始化
其次num是个整数你去和一个字符比较?
我不知道你是怎么输入的\n
总之你的程序从逻辑上就有很多问题
如果你是想检测回车的话至少应该这样用
#include "stdio.h"
int main()
{
char num;
do
{
scanf("%c",&num);
}while(num!= 10);

printf ("%d",num);
return 0;
}

不过这里的printf ("%d",num); 没有意义

你程序的逻辑顺序有问题。
第一次while(num!='\n') 的时候,num的值是多少??
虽然系统会有一个默认值,但你的逻辑是错误的。
其次,while(num!='\n') 你的本意是要判断读入的字符是否为换行符。
但是你的num是个int变量,虽然运行是可以进行比较操作,但是是错误的逻辑。

就这死循环也不至于让系统慢吧

\n就是回车,哪用输入‘\n’啊。