在下面的代码中,我只想printf
在程序末尾使用一个来打印 12 小时时间,但我希望它打印 am 或 pm,具体取决于存储在变量 中的哪个am_pm
。
我以为我读到我可以将字符存储在 int (或浮点数?)中,但我不确定我是否记得正确。当然,这似乎是非法的,因为我遇到了类型错误。
我还读到我可以使用数组来做到这一点,但我还没有了解数组,我想知道是否有更简单的替代方法来解决这个问题。
我知道另一种方法是简单地使用两个printf
's,一个我简单地输入“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("equivalent time is:" + hour + minutes + am_pm)