s【i】!=0,那么不是不能等于0吗,那就不会执行循环,直接跳出了,为什么答案是3

img

因为ascii码的0是48
也就是字符串'0' 在int里是48
x的ascii码超越了‘0’-'9'
所以是3

for循环中s【i】!=0 这里的0,不带引号是数字0,下面s[i]>'0' 加了引号是字符0,你的s是字符串,所以第一个字符0和数字0不相等,不会跳出循环,直到第四个字符x判断时才跳出循环,所以输出3

不是不能等与0,是只要s[i]不等于0就一直循环。