51Testing软件测试论坛

标题: 面试中遇到一个C的题目,请教一下 [打印本页]

作者: camellia0201    时间: 2008-6-4 21:37
标题: 面试中遇到一个C的题目,请教一下
题目是这样的:
下面这段C代码会出现什么结果(代码截取自一个函数,XXX是一个指针变量,之前已经申明过)
if(xxx==NULL||!strcmp(xxx,"[Local]")
   //执行某项操作
else
   //执行某项操作
作者: xiaoshancom    时间: 2008-6-7 18:30
原型: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))  //same  but str1 longer
            return -1;
      else  if((*str2) && (!*str1))   //same but str2 longer
            return 1;
      else
            return ((*str1 > *str2) ? -1:1);  //Different
}




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2