#include <stdio.h> void main() { char str1[100]; char str2[100]; gets(str1); gets(str2); char * scat(char *s1,char *s2); printf("%s\n",scat(str1,str2)); } char * scat(char *s1,char *s2) //将s2字符串连接到s1串之后 { //********Begin************* int i = 0, j = 0; while(*s1 ++ != '\0'){ i ++; } while(*s2 ++ != '\0'){ j ++; } for(int q = 0; q < j; q ++){ s1[i++] = s2[q]; } s2[i] = '\0'; //********End*************** }代码有什么问题,修改一下
时间: 2023-06-29 18:14:24 浏览: 47
代码有两个问题:
1. 函数 `scat` 的返回值类型应该为 `char *`,而不是 `void`。
2. 在 `scat` 函数中,最后一行的代码应该是 `s1[i] = '\0';`,而不是 `s2[i] = '\0';`。因为我们要修改的是字符串 s1,而不是 s2。
以下是修改后的代码:
```
#include <stdio.h>
char * scat(char *s1, char *s2) //将s2字符串连接到s1串之后
{
int i = 0, j = 0;
while (*s1++ != '\0') {
i++;
}
while (*s2++ != '\0') {
j++;
}
s2 -= j + 1; // 指针回退到字符串 s2 的开头
for (int q = 0; q < j; q++) {
s1[i++] = s2[q];
}
s1[i] = '\0'; // 在 s1 的结尾添加字符串结束符
return s1; // 返回修改后的 s1 指针
}
int main()
{
char str1[100];
char str2[100];
gets(str1);
gets(str2);
printf("%s\n", scat(str1, str2)); // 调用函数并输出结果
return 0;
}
```
修改后的代码已经可以正确地将两个字符串连接起来,并输出结果。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)