%f为什么要和%c一起连用,中间没逗号
#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;
}
#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;
}
2016-06-26
有逗号的话会变成“小明身高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。
举报