2-9有疑问

来源:2-9 强制类型转换

polx

2021-08-02 11:08

#include <stdio.h>

int main()

{

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

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

    return 0;

}

这段代码是正确的。

但是下面这段

#include <stdio.h>

int main()

{

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

    int num =(int) num

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

    return 0;

}

是错的。

所以我有些问题:下面这段是我看过教程之后写出来的,但是是错的。

但我又不知道错在哪,我有几个猜测:

1、num这个变量名我用了两次,整型一次,双精度实数型一次。所以我想是不是因为变量名混乱所以报错,但是我学了一下其他人,他们把要输出的量定义成num1。但是我还是错了。

2、我看不太懂教程里说的(数据类型)(表达式)这个形式

表达式要加括号,但是在例子中的tempone没加括号,是因为字符不需要加括号吗?还是只有需要计算的公式才需要加括号?

求大佬耐心解答!!!

写回答 关注

2回答

  • dustbin
    2021-08-02 11:22:39
    已采纳
    1. 一个变量名字num用两遍会混乱的,得重新定义一个不同的变量

    2. 表达式不用加括号,tempone只是变量名字,你可以把它当成a来看

    polx

    谢谢大佬,我懂了

    2021-08-02 11:48:21

    共 1 条回复 >

  • dustbin
    2021-08-02 11:22:37
    1. 一个变量名字num用两遍会混乱的,得重新定义一个不同的变量

    2. 表达式不用加括号,tempone只是变量名字,你可以把它当成a来看

C语言入门

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

926212 学习 · 20797 问题

查看课程

相似问题