在下面的代碼中,我想在程序的最後使用一個printf
來打印12小時的時間,但我希望它打印上午或下午,具體取決於存儲在變量am_pm
中的哪一個。C:從分配的變量中替代打印字符串嗎?
我想我讀了我可以存儲字符在int(或浮動?),但我不知道如果我沒記錯的話。當然,這似乎是非法的,因爲我收到類型錯誤。
我也讀過,我可以使用數組來做到這一點,但我還沒有了解數組,我想知道是否有一個簡單的替代這樣的問題。
我知道另一種方法是簡單地使用兩個printf
,我只需輸入「am」,另一個只需在字符串末尾鍵入「pm」,但這對我來說似乎是多餘的。
#include <stdio.h>
int main(void) {
int hour, minutes, am_pm;
printf("Enter a 24-hour time:"); scanf("%d:%d", &hour, &minutes);
if (hour > 12)
{
hour = (hour - 12);
am_pm = "pm"; // ERROR
}
else
am_pm = "am"; // ERROR
printf("Equivalent 12-hour time: %.2d:%.2d%d", hour, minutes, am_pm);
} // end main
我該怎麼做類似於我上面要做的事情?我知道在Python中,我只是做一些諸如print(「等價時間是:」+小時+分鐘+ am_pm)
哇,謝謝所有的答案,他們都出色地工作。 Ian Goldby和tsurko,你是特別聰明的。我希望我能選擇你們所有的人作爲答案。 – LazerSharks