为了账号安全,请及时绑定邮箱和手机立即绑定

代码哪里错了

哪位高手能告诉我 为什么我的计算是-379600392 

#include<stdio.h>

int main() 

{

    int a=1,b=2,c=3,d=4,e=5;

    double r=a+b+c+d+e;   

    printf("计算结果为%d\n",r);    

    return 0;

 }

正在回答

1 回答

从你的代码可以看到,你得到的结果r是double型(8字节)的,但是你在输出的时候把他强制输出为%d(整数)(一般为2字节,在vc上是4字节),但是高字节是无法转向低字节的,所以结果必然错误。

我的建议是:你的r值加起来也不大,完全没有必要使用double型,你可以把r改为int型,你可以试试。

4 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

代码哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信