二个字符串比较函数
int strcmp(char s1[ ] , char s[ ])
{
int i=0;{
while(s1[i]>0){ //这里为什么是s1[i]>0结束循环,不懂
if(s1[i]>s2[i])
return 1;
if(s1[i]<s2[i])
return -1;
i++;}
if(s2[i]==0) //这里为什么s2[i]==0时就相等了呢?
return 0;
else
return -1; //这里又为什么呢?
}
这个程序我不明白,请各位讲一下好吗??? 感激不尽!!!
----------------解决方案--------------------------------------------------------
怎么没有人呢
----------------解决方案--------------------------------------------------------
看书
----------------解决方案--------------------------------------------------------
能不能提示下,我看了就是没懂,
----------------解决方案--------------------------------------------------------
int strcmp(char s1[ ] , char s[ ])
{
int i=0;{ //这里多了{
while(s1[i]>0){ //这里为什么是s1[i]>0结束循环,不懂 //这里应该是‘0’,s1[i]>’0‘这不是结束,而进入循环体,
if(s1[i]>s2[i])
return 1;
if(s1[i]<s2[i])
return -1;
i++;}
if(s2[i]==0) //这里为什么s2[i]==0时就相等了呢? //应该是s2[i]内容等于'0'
return 0;
else
return -1; //这里又为什么呢? //返回值为-1
}
----------------解决方案--------------------------------------------------------
if(s2[i]==0) //应该是s2[i]内容等于'0'
s2的内容为0,他们就相等吗?
----------------解决方案--------------------------------------------------------
是也.楼主不要这样写if(s2[i]==0) ,应该写if(s2[i]=='0');才对,因为它是字符.
----------------解决方案--------------------------------------------------------
if(s2[i]==0) //应该是s2[i]内容等于'0'
return 0;
else
return -1; //返回值为-1
s2内容为0就相等,不等0就是小于了吗
----------------解决方案--------------------------------------------------------
是字符我想知道这题的思路,不是if(s2[i]=='0');,这个我注意一下就好但我不懂是思路,我是自学的,谢谢
----------------解决方案--------------------------------------------------------
if(s2[i]==0) //如果s2[i]等于'0',执行return 0的语句,否则执行return -1;,或许我写得不详细
return 0;
else
return -1;
----------------解决方案--------------------------------------------------------