首页 > 代码库 > C语言 -- printf函数参数类型和打印格式不匹配
C语言 -- printf函数参数类型和打印格式不匹配
C语言中,变量在运算或者赋值时会存在类型的自动转换。很一般的情况这里不再讨论,下面只说一下赋值和利用printf函数打印时的情况
1.赋值时的自动转换
int a = 1.5;
printf("%d", a);
输出值为1 因为1.5是一个double类型,但是在赋值为a时,由于a是一个int类型,所以将小数部分舍去,a为1
2.printf函数中不涉及自动转换
他只按照固定的格式打印,如果解析失败,就输出对应格式下的0
例如:
int a = 1;
printf("%f",a);
输出0.000000 因为a是int类型,用float类型就会解析失败,所以输出浮点数格式的0,即为0.000000
其余的类似,如%c下解析失败输出一个空格,,
C语言 -- printf函数参数类型和打印格式不匹配
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。