为什么我的输出是1.2 2.345(之间有一个空格也可以正常计算输出结果,不应该是在sc
#include <stdio.h>int main() {
double a,b;
printf("键盘输入2个浮点数为:");
scanf("%lf%lf",&a,&b);
printf("两个数的积为:%.2lf \n",a*b);
return 0;
}
为什么我的输出是1.2 2.345(之间有一个空格也可以正常计算输出结果,不应该是在scanf里%lf%lf两个之间写一个空格才对吗,解释一下呗。是不是因为是输入两个不同的数可以直接由空格间隔就行 您的代码是可以正确输出两个数的积的。在`scanf`函数中,使用空格、制表符或换行符来分隔输入的数据项是可以的。所以在`scanf`的格式字符串"%lf%lf"中,两个`%lf`之间有一个空格是可以的。
例如,以下两种方式都能够正确输入两个浮点数,并计算乘积:
方式一:
输入:1.2 2.345
输出:两个数的积为:2.81
方式二:
输入:
1.2
2.345
输出:两个数的积为:2.81
所以,在输入两个浮点数时,可以使用空格来分隔,也可以使用换行符或制表符来分隔。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 scanf可以先读取一个浮点数(a),此时读到空格后会自动读取下一个数。加不加空格一个样。
页:
[1]