c语言强制转换数据类型

在写代码的过程中,忽然需要对一个数据的数据类型进行转换,如:

int a=3;

如果之后需要对a做除法,显然a/5得出的是 0 。

如果代码很多的话再去改定义就太麻烦了。

所以就有了强制转化  数据类型!!

int a = 3;
printf("%d",a/5);                 // 这里输出的是  0
printf("%.1lf",(double)a/5);     // 这里输出的是  0.6
                                // 并没有改变a的数据类型 
因为数据类型转变 ,所以要用 %lf。


那么是不是也可以把整形转换为字符型呢?

int b = 97;
printf("%c",(char)b);   // 这样输出的是 a  ,也就是97是a的阿斯克码。
                       //  如此说来  不需要再加(char)
// printf("%c",b)   进行格式化输出 a 
那么思考

第一个例子是不是也不用加(double)呢??如:

 int a = 3;
printf("%lf",a/5);  // 虽然编译没报错,但答案是错误的。
                    
所以,整形,浮点型之间的格式化输出,要加上(int) 或(double)

而一个整形转换为字符型,会输出其阿斯克码值对应的字符!!!不用加(char)


!!

那么怎样实现把整形转换成字符串型呢???

用  sprintf()

以后专门研究它的用法 ,这里不多说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值