【发布时间】:2018-08-29 06:42:55
【问题描述】:
我的代码
#include<stdio.h>
int main(){
printf("result1 : %lf %d\n", (1 - (double)((int)1)), (1 - (double)((int)1)));
return 1;
}
结果
result1 : 0.000000, 1
我不明白这个结果。
我想printf("%d")的时候,这个结果一定是0!
【问题讨论】:
-
%d部分是未定义的行为 - 您的结果不能同时是double和int