%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
舉報
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。
2016-06-26
因為height輸出的是一個浮點數,unit輸出的是一個字符。
2016-06-26
%f代指1.85這類小數%c代指"m”字符身高是由小數和字符兩部分組成為一個整體不能用,斷開
2016-06-26
因為%f%c分別指的是后面的height和unit,至于為什么沒有逗號,是因為%f%c是取值符號,例如如果height為168,unit為cm,輸出的結果就是168cm,如果加了逗號就變為168,cm肯定不對吧,記住以后不用加就是了