%g 和 %f 都是C语言中的格式控制符,用于格式化输出浮点数。它们的区别在于对于小数点后面的零的处理方式。
%f
格式控制符会保留小数点后面的所有零,不会进行舍入或省略。例如,对于浮点数 3.140000,使用 %f 输出时会显示为 3.140000。
%g
格式控制符会根据浮点数的精度自动选择使用 %f 或 %e(指数表示法)来输出。它会自动省略小数点后面的多余零,并且对于较大或较小的数会使用指数表示法。例如,对于浮点数 3.140000,使用 %g 输出时会显示为 3.14。
下面是一个示例:
float num = 3.140000;
printf("%f\n", num); // 输出:3.140000
printf("%g\n", num); // 输出:3.14