C语言字符串,初学者不太懂

img


这个*s++,不应该到了0就停止循环了吗
\0相当于空字符,是不是不等同于0
0才算第六个字符呀,为啥答案是8呢

  • \041 表示一个8进制的数,换算成10进制: 4*8+1*1=33 对应ASCII编码是表示一个!号 ; 也就是 这个循环一直遍历到 字符串结束,字符串长度8,最后遇到 结束符’\0‘退出,最后i = 8