Novice C language learning journey(7)

梦幻光晕蓝色背景矢量图.png
This is a function of string comparison.But it seems can not implement this function.
Pass the string "abc" to the two Formal parameters of "char s1" and "char s2".The Formal parameters1 is same as Formal parameters2.But the result is "s1!=s2".Because the value of "s1" and "s2" is already out of bounds when after executed "for" statement .So "s1!=s2".So the function is not return 0.
The code as follows:

int function(char *s1,char *s2){

for(;*s1,*s2,*s1==*s2;s1++,s2++)   
    NULL;
return *s1==*s2 ? 0 : *s1>*s2 ? 1 : -1;

}
The modified as follows:

int function(char* s1,char* s2){

for(;*s1&&*s2&&*s1==*s2;s1++,s2++)
    NULL;
return *s1==*s2?0:*s1>*s2?1:-1;

}

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center