cod*_*ode 0 c floating-point double scanf
我试图double从用户不断读取值scanf.
码:
printf("Enter A value: \n");
double input;
int result = scanf("%f", &input);
printf("INPUT: %f\n", input);
Run Code Online (Sandbox Code Playgroud)
输出是
INPUT: 0.000
Run Code Online (Sandbox Code Playgroud)
你骗了编译器:扫描时%f说你提供指针float.但是你提供了指针double.
要修复,请使用%lf 或声明input为float.
请注意,printf格式存在不对称性,%f用于两者float和double参数.这是有效的,因为printf参数被提升为double(并且不是指针).
| 归档时间: |
|
| 查看次数: |
1597 次 |
| 最近记录: |