-6
我剛剛試圖知道輸出沒有提供變量,而只是%d,並且在編譯程序時沒有錯誤,但我不知道如何顯示如下輸出。爲什麼格式化輸入輸出需要提供變量?
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
輸出成爲7288368
我剛剛試圖知道輸出沒有提供變量,而只是%d,並且在編譯程序時沒有錯誤,但我不知道如何顯示如下輸出。爲什麼格式化輸入輸出需要提供變量?
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
輸出成爲7288368
「爲什麼格式化輸入輸出需要變量要被提供?」
因爲執行printf
要求如此。從manual page of printf
:
「的每種轉換規範由字符%引入,並且用轉換指定結束...與轉換說明必須對應正確(類型提升後)的參數」。
您已經使用"%d"
格式字符串,預計相應的十進制轉換一個完整的說法,但你沒有提供任何參數,這導致了未定義的行爲
這是不確定的行爲。 –
取決於編譯器和您設置上述警告標誌可能會彈出警告。 –
GIGO。垃圾進垃圾出。 – ppeterka