为什么不对

来源:6-12 综合练习

慕慕3371412

2018-08-06 10:21

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

写回答 关注

2回答

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

    你是学过c++吗?

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

    具体这样改:

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

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

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


    修裾欲溯空

    老师不敢当,我还很年轻

    2018-08-09 19:27:49

    共 4 条回复 >

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

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926825 学习 · 20803 问题

查看课程

相似问题