打印
[PIC®/AVR®/dsPIC®产品]

不同的变量类型赋值需要强制转换吗

[复制链接]
110|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小明的同学|  楼主 | 2025-3-24 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AI, he, TF, ma, 11, 代码
#include <stdio.h>

int main()
{
        float a;
        int b;
        b=11;
        a=b*0.5;
   /* 我的第一个 C 程序 */
   printf("%f Hello, World! \n",a);
   
   return 0;
}


使用特权

评论回复
沙发
米多0036| | 2025-3-24 11:47 | 只看该作者
隐式转换 发生在 数据类型兼容 且 不会丢失数据或精度 的情况下,编译器会自动进行转换。

使用特权

评论回复
板凳
米多0036| | 2025-3-24 11:48 | 只看该作者
举个栗子:
C/C++
cpp
复制
编辑
int a = 10;
double b = a;  // int → double,隐式转换
这里 int → double 没有损失精度,因此编译器会自动转换 a 为 double。

使用特权

评论回复
地板
米多0036| | 2025-3-24 11:48 | 只看该作者
再举个栗子:
Python
python
复制
编辑
a = 10       # int
b = a + 2.5  # int + float = float(隐式转换)
print(type(b))  # 输出:<class 'float'>
Python 也会自动将 int 转换为 float 进行计算。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

1551

帖子

2

粉丝