
求助“全国计算机二级C语言 ”中一题!!!
有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是()A.求字符串...
有以下函数
int aaa(char *s)
{ char *t=s;
while(*t++);
t--;
return(t-s);
}
以下关于aaa函数的功能的叙述正确的是( )
A.求字符串s的长度
B.比较两个串的大小
C.将串s复制到串t中
D.求字符串s所占字节数
请问此题如何思考?
高手们解说下,谢谢! 展开
int aaa(char *s)
{ char *t=s;
while(*t++);
t--;
return(t-s);
}
以下关于aaa函数的功能的叙述正确的是( )
A.求字符串s的长度
B.比较两个串的大小
C.将串s复制到串t中
D.求字符串s所占字节数
请问此题如何思考?
高手们解说下,谢谢! 展开
2个回答
展开全部
选A
答:int aaa(char *s)
{ char *t=s; //指针t指向字符串s的首地址;
while(*t++); //注意这里有个分号,t指向字符串s的最后一个字符。
//假如s=abc,由于t是先++,然后再用while判断的。所以t就会指向c的后面那个位置(不是C)。
t--; //由以上可知t指向C后面的位置,所以要自减一下,指向C
return(t-s); //指向最后的减去指向最前的就是字符串的长度了。
}
答:int aaa(char *s)
{ char *t=s; //指针t指向字符串s的首地址;
while(*t++); //注意这里有个分号,t指向字符串s的最后一个字符。
//假如s=abc,由于t是先++,然后再用while判断的。所以t就会指向c的后面那个位置(不是C)。
t--; //由以上可知t指向C后面的位置,所以要自减一下,指向C
return(t-s); //指向最后的减去指向最前的就是字符串的长度了。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询