外太空
2016-06-26 10:36
#include <stdio.h>
int main()
{
int age = 18;
float height = 1.85;
char unit = 'm';
printf("小明今年%d岁\n", age);
printf("小明身高%f%c\n", height, unit);
printf("小明现在在慕课网上学习IT技术");
return 0;
}
有逗号的话会变成“小明身高1.85,m”。
%f %c %d 等,都是输出的格式,float height=1.85,用%f的格式输出就是1.85,用%d的格式输出就变成了1。
你可以试试 :
int num=97;
printf("%c",num);
结果应该是'a'。
或者试试:
char letter='b';
printf("%d",letter);
结果为98。
也就是说不管是char还是int ,其在内存中的储存形式是一样的。当你要把它们显示出来的时候就要给它们定一种格式,让它们以你指定的格式显示出来。
或许你想问height已经定好了是float的格式,为什么在输出的时候还要再重申一次它是%f呢?
我记得制订c标准的委员会那帮人对于c语言的精神有几条指导原则,第一条就是“相信程序员”。
或许他们认为你会需要把float 类型的数据以int的形式显示,而不是你的一时疏忽把%f打成了%d。
因为height输出的是一个浮点数,unit输出的是一个字符。
%f代指1.85这类小数%c代指"m”字符身高是由小数和字符两部分组成为一个整体不能用,断开
因为%f%c分别指的是后面的height和unit,至于为什么没有逗号,是因为%f%c是取值符号,例如如果height为168,unit为cm,输出的结果就是168cm,如果加了逗号就变为168,cm肯定不对吧,记住以后不用加就是了
C语言入门
926287 学习 · 20799 问题
相似问题