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

这么编怎么不对

  double num = 2.5;      //定义浮点型变量num1并赋值为2.5

    num=(int)num;

    printf("num的整数部分是%d\n", num);  

    return 0;

}


正在回答

1 回答

你的num是double的,所以num=(int)num,这样赋值完之后,num仍然是double型的,而且此时num=2.0。你最后输出不能用%d,%d代表的是int型的。

如果你想改,可以这样写:

double num=2.5;
int num1=(int)num;
printf("%d\n",num1);

或者这样:

double num=2.5;
num=(int)num;
printf("%.0lf\n",num);//%.0lf代表输出的是double型的,并且小数点后保留零位小数(即只是整数部分)


1 回复 有任何疑惑可以回复我~
#1

景逸Y 提问者

知了 谢谢
2015-02-01 回复 有任何疑惑可以回复我~
#2

业余新手

double num=2.5; int num1=(int)num; printf("%d\n",num1); -------------------- 这个方法试过了,但是系统不给通过。这样是正确的方法?
2015-04-15 回复 有任何疑惑可以回复我~
#3

yinzm 回复 业余新手

我刚两种方法都试过了,能通过的。
2015-04-24 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这么编怎么不对

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