比较字符串计算ASCII码差值代码求分析
#include<stdio.h>intstrcompare( char *str1,char *str2);
intmain( ){
chara,b;
gets(a);
gets(b);
printf( "%d\n", strcompare(a,b)) ;
return 0 ;
}
int strcompare( char *str1 , char *str2 )
{
int i=0;
while(*(str1+i)==*(str2+i)&&*(str1+i)!='0'&&*(str2+i)!='0')
i++;
return (*str1+i)-*(str2+i);
}
我这个代码他两个字符串不一样的时候是对的 但是两个字符串相同的时候差值不是0 while循环条件的后半部分写错了,应该是
while(*(str1+i)==*(str2+i)&&*(str1+i)!='\0'&&*(str2+i)!='\0') sunrise085 发表于 2020-12-11 13:12
while循环条件的后半部分写错了,应该是
还不对 癞蛤蟆丶ccc 发表于 2020-12-11 14:05
还不对
第15行业写错了,第一个*应该在括号外,你写在括号内了 sunrise085 发表于 2020-12-11 18:12
第15行业写错了,第一个*应该在括号外,你写在括号内了
感谢 我太粗心了{:5_109:}
页:
[1]