Zul*_*aev 0 c types casting operator-precedence
int num1, num2;
Run Code Online (Sandbox Code Playgroud)
double average;
average=(double)(num1+num2)/2;
printf("average: %d", average);
Run Code Online (Sandbox Code Playgroud)
我的测试 printf 显示平均值为: 0
这可能太简单了,但我看不到。我的输入都是“int”,平均值是“double”,但不知怎的,它计算不正确?
您使用了错误的格式说明符printf。
格式%d说明符需要一个int参数,但您要传递一个double. 使用错误的格式说明符会引发未定义的行为。
要打印 a double,请使用%f.
printf("average: %f\n", average);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34791 次 |
| 最近记录: |