问题描述
- 菜鸟求问C语言,if,else
-
#include
#includechar *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 要用双等于