Сначала правильный способ сделать это:
if(str[0] == '1')
Или:
if(str[0] == 49)
Во-вторых, вы должны позаботиться о разнице между 1
и '1'
1
- целочисленное значение ...
'1'
- это персонаж, чей ASCII равен 49
Что означает:
('1'==1)
ложно !!
Однако ('1'==49)
верно !!
Когда вы пишете '1'
на C / C ++, это автоматически переводится в соответствующий ASCII 49
, то есть '1'
фактически представляется в C / C ++