#include<stdio.h>
char *fun (char *s, char *t)
{
int m=0,n=0;
char*p=s,*q=t;
while(*p)
{
m++;
p++;
}
while(*q)
{
n++;
q++;
}
if(m>n)
p=s;
else
p=t;
}
int main()
{
char a[20],b[20];
a="beijing",b="shanghai";
printf("%s\n",fun(a,b));
}
你是学过c++吗?
c语言中的是字符数组,而不是字符串,所以你给数组赋值的时候错了;
具体这样改:
如果对你有帮助的话就采纳吧
#include<stdio.h>
char* fun(char *s, char *t)
{
int m = 0, n = 0;
char*p = s, *q = t;
while (*p)
{
m++;
p++;
}
while (*q)
{
n++;
q++;
}
if (m>n)
p = s;
else
p = t;
return p;
}
int main()
{
char a[20] = "beijing" ;
char b[20] = "shanghai";
printf("%s\n", fun(a, b));
system("pause");
return 0;
}