C语言程序中main函数类型对输出结果的影响
C语言程序中main函数类型对输出结果的影响
程序一:
#include <stdio.h>
void main()
{
double b = 0.12345678901234567890;
printf("b=%.30f\n", b);
}
程序二:
#include <stdio.h>
main()
{
double b = 0.12345678901234567890;
printf("b=%.30f\n", b);
}
程序三:
#include <stdio.h>
int main()
{
double b = 0.12345678901234567890;
printf("b=%.30f\n", b);
}
为什么结果不同
结果不同是因为不同的程序使用了不同的数据类型和输出格式。
程序一使用了void main(),这是一种非标准的写法。在C语言中,main函数的返回类型应该是int类型。因此,程序一的结果可能是不确定的。
程序二使用了main(),这是一种不推荐的写法。在C语言中,main函数应该声明为int类型,并返回一个整数值。虽然程序二可以正常运行,但是编译器可能会发出警告。
程序三是标准的写法,使用了int main(),并且返回了一个整数值。这是C语言中推荐的写法。所以,程序三的结果是可靠的。
此外,三个程序中的输出格式都是"b=%.30f\n",表示输出一个双精度浮点数,并保留30位小数。所以,无论程序如何写,输出结果应该是一致的。
原文地址: https://www.cveoy.top/t/topic/p3Gp 著作权归作者所有。请勿转载和采集!