读书人

return(*s-t)什么意思解决思路

发布时间: 2012-03-21 13:33:15 作者: rapoo

return(*s-*t)什么意思

C/C++ code
set(s,t){    char *s,*t;    while((*s)&&(*t)&&(*t++==*s++));    return(*s-*t);}

那个return那个什么意思

[解决办法]
等价于
return (s[0]-t[0]);
[解决办法]
while((*s)&&(*t)&&(*t++==*s++));
这行标识*s ,*t任意一个为0的时候结束循环,否则将t指向s指向的地址,并且t,s地址增加一个char长度。
return(*s-*t); 这行就是s指向地址的内存值减去t指向地址的内存值。

不知道对不对
[解决办法]
探讨
2楼的,没有错,我就是照着那个书本上的打的,

我主要是不知道可以返回2个数的吗?我是新手,以前做题都是返回一个数的,

能不能举个例子,就是可以返回2个数的,谢谢啦!

[解决办法]
只能返回一个数,除非你返回的是一个数组,其中包含两个数。。。
[解决办法]
我认为return(*s-*t)就是s指向地址内容减去t指向地址内容,但不清楚最终返回的是一个字符,还是其对应的ASCII码,还是其他?等待指点……
[解决办法]
返回s和t中第一个不相等的字符后紧跟字符间的ASCII码值的差。
[解决办法]
按字典顺序比较字符串的大小,返回值
=0,说明两字符串相等
>0,按字典顺序,s排在t之后
<0,按字典顺序,是排在t之前

>0和<0没有意义

读书人网 >C语言

热点推荐