c语言强制转换数据类型 |
您所在的位置:网站首页 › c语言强制转化数据类型 › 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() 以后专门研究它的用法 ,这里不多说。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |