mys. 发表于 2020-12-11 20:52:02

很懵逼

12-1 字符串的连接 (15point(s))

本题要求编写程序,使用指针方式实现两个字符串的连接(不能使用strcat函数),并将连接后的字符串输出。
输入格式:
输入一行以回车结束的非空字符串(不超过40个字符),再输入一行以回车结束的非空字符串(不超过40个字符)。
输出格式:
一行输出俩字符串连接后新的字符串。
输入样例:
Beijing_
China

输出样例:
Beijing_China


#include<stdio.h>
#include<string.h>

int main()
{
        char str1,str2;
    scanf("%s%s",&str1,&str2);
   
    strcat(str1,"");
        strcat(str1,str2);
        printf("%s\n",str1);
        return 0;
}

题目反馈:

最大
Runtime Error

字符串有空格
Wrong Answer

rt3 发表于 2020-12-11 21:01:10

本帖最后由 rt3 于 2020-12-11 21:07 编辑




#include<stdio.h>
#include<string.h>

int main()
{
    char str1,str2;
    scanf("%s %s",&str1,&str2);
   
    char str3;
    char* str4=str3;
    sprintf(str4,"%s%s",str1,str2);
    sprintf(str1,"%s",str4);
    printf("%s\n",str1);
    return 0;
}

mys. 发表于 2020-12-11 21:06:34

E:tu

mys. 发表于 2020-12-11 21:08:41

rt3 发表于 2020-12-11 21:01


还是不行,说字符串有空格时答案不对,还有一个是当字符字节都为40时答案不对

rt3 发表于 2020-12-11 21:11:18

mys. 发表于 2020-12-11 21:08
还是不行,说字符串有空格时答案不对,还有一个是当字符字节都为40时答案不对

那就不知道了

风过无痕1989 发表于 2020-12-11 21:37:27

本帖最后由 风过无痕1989 于 2020-12-11 21:45 编辑

题目要求用指针,那就给你指针的
#include <stdio.h>
#include <string.h>

void connect(char *p1,char *p2);

int main()
{
    char str1;
    char str2;
    char *p1,*p2;
    p1 = str1;
    p2 = str2;
    scanf("%s",p1);
    scanf("%s",p2);
    connect(p1,p2);
    printf("\n");
}

void connect(char *p1,char *p2)
{
    int i,len1,len2;
    len1 = strlen(p1);
    len2 = strlen(p2);
    for (i = 0;i < len2;i++)
    {
          *(p1 + len1 + i) = *(p2 + i);
    }
   
    *(p1 + len1 + len2) = '\0';   // 加上这一条语句,输出就很清爽了
    printf("%s\n",p1);
}
页: [1]
查看完整版本: 很懵逼