你说的对,所谓的答案,不规范的地方一大堆。就main前面没有返回值类型的写法,就和现代的C编译器格格不入。这是 turbo c时代的了。
书上的答案是错误的。
问题中提到的代码修改是针对浮点型变量输入输出的情况。首先,我们来看scanf函数。
在C语言中,scanf函数用于从标准输入中读取数据并存储到变量中。对于浮点型变量,我们需要使用"%lf"格式控制符进行输入。因此,对于题目中的代码修改,我们需要将第四行的scanf函数改为:
scanf("%lf%lf%lf", &a, &b, &c);
然后,我们来看printf函数。
printf函数用于将数据打印输出到标准输出。对于浮点型变量,我们需要使用"%f"格式控制符进行输出。因此,对于题目中的代码修改,我们需要将第七行的printf函数改为:
printf("a=%f, b=%f, c=%f\n", a, b, c);
这样修改后,才能正确地输入浮点型变量并输出浮点型变量的值。修改后的代码如下所示:
#include <stdio.h>
int main() {
double a = 0;
double b = 0;
double c = 0;
scanf("%lf%lf%lf", &a, &b, &c);
printf("a=%f, b=%f, c=%f\n", a, b, c);
return 0;
}
这样修改后,当输入浮点数时,程序可以正确地读取并输出浮点型变量的值。