流程如下:
while内的语句等效为以下两句话:
tmp=t;
t++;
while( * tmp)
而main函数中s是一个字符串初始化的,所以s[14]='n',s[15]='\0'。而s即是数组的0号位置,简单近似理解成s=0
子函数中最后运行的是t位置=15,然后tmp=t=15,然后t++即近似理解成t=16,然后 * tmp 即取到了\0 跳出循环。最后执行t-s-1=16-0-1=15
这是计算字符串长度的函数,怎么会是18呢?字符串有15个有效字符,应该是15啊
不知道你这个问题是否已经解决, 如果还没有解决的话:4 1 2 3 4 5 6 7 8 9 0 -1