给我解释一下这个C语言程序段为什么运行时候要输入两次呢

2025-04-04 23:48:38
推荐回答(2个)
回答1:

/*scanf("%lf\n",&x);//把换行符去掉就行了,这是缓冲区的问题。
scanf () 函数的问题
简单解释一下,scanf() 函数中 \n 相当于一个空格,
例如 %d\n 首先scanf 跳过空格读取一个整数,然后跳到下一个非空白字符处,像这样写很容易是一些交互式程序挂起,直到用户输入一个非空白字符为止。
建议 scanf("%lf",&x);

回答2:

scanf("%lf",&x);

不要在scanf中随意使用\n,他表示忽略一切空白符直至下一个非空白符出现