乐瑜 发表于 2020-12-10 13:13:31

c语言-字符串-拼接字符串(不用函数)

请问,我这道题的思路错在哪里了,请帮忙指正。感谢帮助!
/*编写程序实现以下功能:从键盘输入3个字符串,将3个字符串连接起来组成一个新串并输出(注意:不得使用strcat()函数)*/
#include<stdio.h>
#define M 50
void main()
{
        char s1="",s2="",s3="",s=""
                ;
        int i,n=0,m;
        scanf("%s %s %s",s1,s2,s3);
        for(i=0;;i++){
                s=s1;
                n++;
        }
        m=n;
        for(i=0;;i++){
                s=s2;
                n++;
        }
        m=n;
        for(i=0;;i++){
                s=s3;
        }
        printf("%s\n",s);
}

jitianmoshen 发表于 2020-12-10 13:53:31

/*编写程序实现以下功能:从键盘输入3个字符串,将3个字符串连接起来组成一个新串并输出(注意:不得使用strcat()函数)*/
#include<stdio.h>
#define M 50
void main()
{
    char s1="",s2="",s3="",s="";
    int i,n=0,m;
    scanf("%s %s %s",s1,s2,s3);
    for(i=0;s1 != '\0';i++)      //for循环你至少得设置个停止条件啊,不然一直在for里出不去了,'\0' 是字符串结束符啊
    {
      s=s1;
      n++;
    }
    m=n;
    for(i=0;s2 != '\0';i++)
    {
      s=s2;
      n++;
    }
    m=n;
    for(i=0;s3 != '\0';i++)
    {
      s=s3;
    }
    printf("%s\n",s);
}

风过无痕1989 发表于 2020-12-10 14:06:02

/*编写程序实现以下功能:从键盘输入3个字符串,将3个字符串连接起来组成一个新串并输出(注意:不得使用strcat()函数)*/
#include<stdio.h>
#define M 50
void main()
{
        char s1 = "", s2 = "", s3 = "", s = "";
        int n = 0, i = 0, m = 0;
        scanf("%s", s1);
        scanf("%s", s2);
        scanf("%s", s3);
        while (s1 != '\0')
        {
                s = s1;
                n++;
        }
        while (s2 != '\0')
        {
                s = s2;
                n++;
                i++;
        }
        while (s3 != '\0')
        {
                s = s3;
                n++;
                m++;
        }
        printf("%s\n", s);
}

乐瑜 发表于 2020-12-10 18:01:18

jitianmoshen 发表于 2020-12-10 13:53


非常感谢

乐瑜 发表于 2020-12-10 18:02:25

风过无痕1989 发表于 2020-12-10 14:06


非常感谢
页: [1]
查看完整版本: c语言-字符串-拼接字符串(不用函数)