
C语言中while(*t++)什么意思?还有 int aaa(char *s) {char *t=s; while (*t++);t--; return (t-s)...
C语言中while(*t++)什么意思?还有intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}谢谢...
C语言中while(*t++)什么意思?还有
int aaa(char *s)
{char *t=s;
while (*t++);t--;
return (t-s);}谢谢 展开
int aaa(char *s)
{char *t=s;
while (*t++);t--;
return (t-s);}谢谢 展开
2个回答
展开全部
int aaa(char *s)
{
char *t=s;
while (*t++);
判断*t的值:
1,如果不为0,则继续while循环,执行t++,指针指向下一个
2,如果为0,跳出while循环,执行t++,指针指向下一个
t--;
return (t-s);
}
比如数组char temp[] = {1, 2, 3, 4, 5, 6, 7, 0, 8, 9};
执行aaa(temp);
那么当while(temp[7])时(temp[7] = 0;),跳出循环,t = temp[8] = 8;
然后t--;
t= temp[7] = 0;
t-s就是从temp[0]到temp[7]跳过了多少地址空间,答案是7。
不知道你明白了没有?希望对你有帮助!
{
char *t=s;
while (*t++);
判断*t的值:
1,如果不为0,则继续while循环,执行t++,指针指向下一个
2,如果为0,跳出while循环,执行t++,指针指向下一个
t--;
return (t-s);
}
比如数组char temp[] = {1, 2, 3, 4, 5, 6, 7, 0, 8, 9};
执行aaa(temp);
那么当while(temp[7])时(temp[7] = 0;),跳出循环,t = temp[8] = 8;
然后t--;
t= temp[7] = 0;
t-s就是从temp[0]到temp[7]跳过了多少地址空间,答案是7。
不知道你明白了没有?希望对你有帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询