面试中遇到一个C的题目,请教一下
题目是这样的:下面这段C代码会出现什么结果(代码截取自一个函数,XXX是一个指针变量,之前已经申明过)
if(xxx==NULL||!strcmp(xxx,"")
//执行某项操作
else
//执行某项操作 原型:extern int strcmp(char *s1,char * s2);
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
int strcmp(const char *str1, const char *str2)
{
while((*str1 == *str2) && (*str1))
{
str1++;
str2++;
}
if((*str1 == *str2) && (!*str1) )//same strings
return 0;
else if((*str1 ) && (!*str2))//samebut str1 longer
return -1;
elseif((*str2) && (!*str1)) //same but str2 longer
return 1;
else
return ((*str1 > *str2) ? -1:1);//Different
}
页:
[1]