很懵逼
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: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;
}
E:tu rt3 发表于 2020-12-11 21:01
还是不行,说字符串有空格时答案不对,还有一个是当字符字节都为40时答案不对 mys. 发表于 2020-12-11 21:08
还是不行,说字符串有空格时答案不对,还有一个是当字符字节都为40时答案不对
那就不知道了 本帖最后由 风过无痕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]