%f為什么要和%c一起連用,中間沒逗號(hào)
#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("小明現(xiàn)在在慕課網(wǎng)上學(xué)習(xí)IT技術(shù)");?
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("小明現(xiàn)在在慕課網(wǎng)上學(xué)習(xí)IT技術(shù)");?
return 0;
}
2016-06-26
舉報(bào)
2016-06-26
有逗號(hào)的話會(huì)變成“小明身高1.85,m”。
%f %c %d 等,都是輸出的格式,float height=1.85,用%f的格式輸出就是1.85,用%d的格式輸出就變成了1。
你可以試試 :
int num=97;
printf("%c",num);
結(jié)果應(yīng)該是'a'。
或者試試:
char letter='b';
printf("%d",letter);
結(jié)果為98。
也就是說不管是char還是int ,其在內(nèi)存中的儲(chǔ)存形式是一樣的。當(dāng)你要把它們顯示出來的時(shí)候就要給它們定一種格式,讓它們以你指定的格式顯示出來。
或許你想問height已經(jīng)定好了是float的格式,為什么在輸出的時(shí)候還要再重申一次它是%f呢?
我記得制訂c標(biāo)準(zhǔn)的委員會(huì)那幫人對(duì)于c語(yǔ)言的精神有幾條指導(dǎo)原則,第一條就是“相信程序員”。
或許他們認(rèn)為你會(huì)需要把float 類型的數(shù)據(jù)以int的形式顯示,而不是你的一時(shí)疏忽把%f打成了%d。
2016-06-26
因?yàn)閔eight輸出的是一個(gè)浮點(diǎn)數(shù),unit輸出的是一個(gè)字符。
2016-06-26
%f代指1.85這類小數(shù)%c代指"m”字符身高是由小數(shù)和字符兩部分組成為一個(gè)整體不能用,斷開
2016-06-26
因?yàn)?f%c分別指的是后面的height和unit,至于為什么沒有逗號(hào),是因?yàn)?f%c是取值符號(hào),例如如果height為168,unit為cm,輸出的結(jié)果就是168cm,如果加了逗號(hào)就變?yōu)?68,cm肯定不對(duì)吧,記住以后不用加就是了