#include
#include
char *compare(char *,char *);
int main()
{
char *a1="assss";
char *a2="q";
char *big;
big=compare(a1,a2);
printf("%s",big);
return 0;
}
char *compare(char *a,char *b)
{
char *c;
int ptr;
ptr=strcmp(a,b);
if(ptr>0)
return a;
else if(ptr=0)
return 0;
else
return b;
}
输出大的,请问错在那里?
一般形式:strcmp(字符串1,字符串2)
说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
输出结果错?还是编译出错? ,如果结果是乱码的话,那就是返回那儿有问题了
#include
#include
#include
char *compare(char *,char *);
int main()
{
char *a1="assss";
char *a2="q";
char *big;
big=compare(a1,a2);
printf("%s \n",big);
system("pause");
return 0;
}
char *compare(char *a,char *b)
{
char *c;
int ptr;
ptr=strcmp(a,b);
if(ptr>0)
return a;
else if(ptr=0)
return 0;
else
return b;
}
ptr=0?compare函数中第一个else if(ptr=0)不对。
你把strcmp的意思搞错了。
ptr==0 要用双等于