布尔值,如果"a"或"b"
Bool if 'a' or 'b'
所以我需要用'z'交换输入文本中的某些字母,但由于某种原因,我的检查不起作用。下面是代码:
bool CheckLetter(int x) {
if(nm[0][x] == 'a' || 'e' || 'i' || 'o')return true;
return false; }
问题在'||'。如果我只保留"a",我的程序就能完美地工作。这样,它只给了我这样的东西:'zzzzzz'。什么好主意吗?
'a'
不是布尔值。nm[0][x] == 'a'
。因此,您需要:
if(nm[0][x] == 'a' || nm[0][x] =='e' || nm[0][x] =='i' || nm[0][x] =='o')
请注意,在c++中,'a'
!= 0
,因此它等于true
,并且您的if语句将始终为真。唯一不为真的字符是