为什么在i=2的时候while(s[i]);没有为假跳出来呢?
#include <stdio.h>
int main()
{ char *s="120119110";
int n0,a,b,c,i;
n0=a=b=c=i=0;
do{
switch(s[i++])
{default :c++;
case '0':n0++;
case '1':a++;
case '2':b++;
}
}while(s[i]);
printf("n0=%d,a=%d,b=%d,c=%d\n",n0,a,b,c);
return 0;
}
我认为的在i为2的时候s[i]值为0那么while就为假跳出循环了呀
为什么答案最后是n0=3,a=8,b=9,c=1
i为2的时候s[i]值为'0',是字符0不是数字0,在while条件不会转换成false