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

输出的指代问题

为什么不可以这样子 int a =(int)num; int num = a; 就是先用另一个字符a代替,再将a代入到num中去呢

正在回答

1 回答

应该是后面的不需要加上int去声明类型,同时你需要把下面的输出中的%d改成%f才能输出哦

#include <stdio.h>
int main()
{
    double num = 2.5;      //定义浮点型变量num并赋值为2.5
    int num1 = (int)num;
    num = num1;
    printf("num的整数部分是%f\n", num);  
    return 0;
}

我刚刚试了一下 这样输出是有效的 也通过了验证

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

Rudyhui 提问者

非常感谢!
2016-02-03 回复 有任何疑惑可以回复我~
#2

Rudyhui 提问者

请问下为什么得要用%f而不能用%d呢,num1本来就是十进制了啦
2016-02-03 回复 有任何疑惑可以回复我~
#3

我是挂比 回复 Rudyhui 提问者

因为你是把num1的值赋予给了num,但num本身还是双精度型,没有改变num的类型,后面输出的是num所以要用%f的
2016-02-03 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

输出的指代问题

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