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

为什么这样不对呢

#include <stdio.h>

int main()

{

    double num = 2.5;      

    int num = (int)num;

    printf("%d\n", num);  

    return 0;

}


正在回答

7 回答

你和上面的浮点型变量定义成一样的了,这样系统会区分不了
需要重新定义一个整形变量,然后强制转换如:
int num1=(int)num;
printf(“num的整数部分是%d\n”,(int)num1);
这样就可以了


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

你这样因为不具备强制转换的要求啊,像这样就具备了

#include <stdio.h>

int main()

{

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

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

    return 0;

}


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

类型冲突

conflicting types for 'num'
     int num = (int)num;


0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main()
{    
  double num = 2.5;          
  int num2 = (int)num;    
  printf("%d\n", num2);      
  return 0;
}


1 回复 有任何疑惑可以回复我~
#include <stdio.h>int main(){    double num = 2.5;          int num2 = (int)num;    printf("%d\n", num2);      return 0;}


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

重新定义的整形符号不因与上面double一样

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

#include <stdio.h>

int main()

{

    double num = 2.5;      

    int num = (int)num;

    printf("%d\n", (int)num);  

    return 0;

}

输出的是 int num 的值

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

举报

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

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

进入课程

为什么这样不对呢

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