c语言国二的例题 求详解

2025-02-23 21:49:33
推荐回答(1个)
回答1:

C里字符的结束符就是'\0',转为int后就是0,s[0]里存储的是一个字符的'0',它转成int后结果为48(也就是0的ascii码,具体的你可以自己查一下ascii表,或者自己用 printf("%d",(int)(s[0]))输出一下看看),所以你的问题,s[0]='0'=48是不等于0的,对于s[i]!=0来说,只有遇到s[5]才会停止,也就是遇到\0停止,并不是遇到\就停止。
至于上面的char s[]="012xy\08s34f4w2",实际上是
s[0]='0'
s[1]='1';
s[2]='2';
s[3]='x';
s[4]='y';
s[5]='\0'=0;
s[6]='8';
.....
s[13]='2';
s[14]='\0';