C++ 检查字符串元素是否相等

C++ checking elements of strings for equality

给定一个格式如下的字符串:

07:05:45PM

我要把它转换成军用时间。 我的想法是检查字符串的元素 8 是否为 'P' 或 'A' 并相应地修改字符串但是这个表达式:

if (time[8]  == 'P' );

无论 time[8] 是 'A' 还是 'P' 甚至是 '7' 总是计算为真 为什么?

因为在 if 语句之后多了一个分号。