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);}谢谢
展开
 我来答
折咏志0hfd5a
2012-03-14 · TA获得超过279个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:260万
展开全部
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。

不知道你明白了没有?希望对你有帮助!
娟子美食制作
2012-03-14 · 超过18用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:49.6万
展开全部
while(*t++)再函数aaa()中意思:t字符串的首地址,*t++,++比*级别高,所以意思为一次去字符串中的字符。
int aaa(char *s)
{
char *t=s;
while (*t++);
t--;
return (t-s);//返回的是字符串的长度
}
既aaa()函数是求char* s的长度!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式