永发信息网

#include#include#includeint main(){long int x1=123

答案:2  悬赏:20  手机版
解决时间 2021-02-03 17:50
  • 提问者网友:萌卜娃娃
  • 2021-02-02 19:25
#include#include#includeint main(){long int x1=123
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-02-02 19:46
为什么错误的输出方式会影响到正确的输出方式是因为:一般机器上,int 2 字节long 4 字节float 4 字节double 8 字节char 1字节 在 %d,%lf>\n 这行,后一个X3在作为不定参数压入值时,自动转成double (类型提升) 机器读取了2 + 8 = 10个字节,而实际上两个X3加起来只有四个字节,所以造成了错误,因为机器认为每个二进制位 都是 有意义的.并且 整型 和 实数型 在底层 二进制位上的 排列标准,也是不一样的.所以在输出时要注意控制变量的格式只要把输出变量强制转换就可以了,代码如下,修改地方已表明#include#include#includeint main(){ long int x1=123456789; long int x2=12345; int x3=123; double y1=123.6; int z=(int)y1; printf( %ld,%d>\n %ld,%d>\n %d,%lf>\n %lf,%d>\n %d,%lf>\n, x1,x1, x2,x2, x3,double(x3),//强制转换成double型 y1,int(y1),//强制转换成int型 z,double(z)); //强制转换成double型 system(pause); return 0;}
全部回答
  • 1楼网友:零点过十分
  • 2021-02-02 21:22
收益了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯