c++中数字字符和字母字符之间的字符比较

c++ character comparison between a number char and a letter char

本文关键字:字符 之间 比较 数字字符 c++      更新时间:2023-10-16

我有一个名为tablolar的字符串变量,在这种情况下,它的值是"tablo2",根据我的意图,它不能进入if语句,但它进入,我找不到原因。

for(int z=0;z<tablolar.size();){
    if((tablolar[z]==',')||(tablolar[z]=='a')||(tablolar[z]=='b')
     ||(tablolar[z]=='c')||(tablolar[z]=='d')||(tablolar[z]=='e')
     ||(tablolar[z]=='f')||(tablolar[z]=='g')||(tablolar[z]=='h')
     ||(tablolar[z]=='i')||(tablolar[z]=='j')||(tablolar[z]=='k')
     ||(tablolar[z]=='l')||(tablolar[z]=='m')||(tablolar[z]=='n')
     ||(tablolar[z]=='o')||(tablolar[z]=='p')||(tablolar[z]=='q')
     ||(tablolar[z]=='r')||(tablolar[z]=='s')||(tablolar[z]=='t')
     ||(tablolar[z]=='u')||(tablolar[z]=='v')||(tablolar[z]=='w')
     ||(tablolar[z]=='x')||(tablolar[z]=='y')||(tablolar[z]=='z')) {
    //enters here but it must not enter
}

您的检查包括检查当前符号是't',如果字符串是'tablo2',它的第一个字符是't'

顺便说一下,这个检查可以简单得多:

if ((tablolar[z] == ',') || (tablolar[z] >= 'a' && tablolar[z] <= 'z'))
    // do your work