谁能解释一下 %g 和 %f 的区别。我知道 %0.2f 因为我知道它只在小数点后 2 位打印!我试过这个代码......
int main()
{
float val = 10.0;
printf("<%g><%0.2g><%0.4g><%f><%0.2f>", val, val, val, val, val);
return 0;
}
//giving : <10><10><10><10.000000><10.00>
//If i give 10.1 instead!
int main()
{
float val = 10.1;
printf("<%g><%0.2g><%0.4g><%f><%0.2f>", val, val, val, val, val);
return 0;
}
//giving : <10.1><10><10.1><10.000000><10.00>
// How come here i got for %g --> 10.1
// %0.2g --> 10
// %0.4g --> 10.1
请有人澄清我!