为了账号安全,请及时绑定邮箱和手机立即绑定

%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;

}


正在回答

4 回答

有逗号的话会变成“小明身高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。

0 回复 有任何疑惑可以回复我~
#1

外太空 提问者

非常感谢!
2016-06-26 回复 有任何疑惑可以回复我~

因为height输出的是一个浮点数,unit输出的是一个字符。

1 回复 有任何疑惑可以回复我~

%f代指1.85这类小数%c代指"m”字符身高是由小数和字符两部分组成为一个整体不能用,断开

1 回复 有任何疑惑可以回复我~

因为%f%c分别指的是后面的height和unit,至于为什么没有逗号,是因为%f%c是取值符号,例如如果height为168,unit为cm,输出的结果就是168cm,如果加了逗号就变为168,cm肯定不对吧,记住以后不用加就是了

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

%f为什么要和%c一起连用,中间没逗号

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信