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

C++ C++;检查字符串元素是否相等,c++,string,character,equality,C++,String,Character,Equality,给定此格式的字符串: 晚上7:05:45 我要把它改成军事时间。 我的想法是检查字符串的元素8是否为“P”或“a”,并相应地修改字符串,但此表达式: if (time[8] == 'P' ); 无论时间[8]是“A”还是“p”甚至是“7”,始终计算为真 为什么?因为在if语句后面有一个额外的分号。你怎么知道它的计算结果是真的?你只是在if之后执行了一个空语句。谢谢大家帮我澄清这一点

给定此格式的字符串:

晚上7:05:45

我要把它改成军事时间。 我的想法是检查字符串的元素8是否为“P”或“a”,并相应地修改字符串,但此表达式:

if (time[8]  == 'P' );
无论时间[8]是“A”还是“p”甚至是“7”,始终计算为真
为什么?

因为在
if
语句后面有一个额外的分号。

你怎么知道它的计算结果是真的?你只是在if之后执行了一个空语句。谢谢大家帮我澄清这一点