Novice C language learning journey(7)
hive-175254·@sky-999·
0.000 HBDNovice C language learning journey(7)
 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; }