问答详情
源自:6-12 综合练习

为什么不对

#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));
   
}

提问者:慕慕3371412 2018-08-06 10:21

个回答

  • 修裾欲溯空
    2018-08-07 08:01:42
    已采纳

    你是学过c++吗?

    c语言中的是字符数组,而不是字符串,所以你给数组赋值的时候错了;

    具体这样改:

    https://img.mukewang.com/5b68e147000161ca02090112.jpg

    https://img.mukewang.com/5b68e1470001d40702990062.jpg

    如果对你有帮助的话就采纳吧


  • 559c
    2018-08-15 12:20:15

    #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;

    }