用指针输入两个字符串,将这两个字符串连接后输出
时间: 2023-11-28 11:48:16 浏览: 208
下面是一个示例代码,使用指针将两个字符串连接起来:
```c
#include <stdio.h>
void strcat_ptr(char *s1, char *s2) {
while (*s1) { // 找到 s1 的末尾
s1++;
}
while (*s2) { // 将 s2 复制到 s1 的末尾
*s1++ = *s2++;
}
*s1 = '\0'; // 添加字符串结束符
}
int main() {
char str1[100], str2[100];
printf("Enter string 1: ");
gets(str1);
printf("Enter string 2: ");
gets(str2);
strcat_ptr(str1, str2); // 连接两个字符串
printf("Concatenated string: %s", str1);
return 0;
}
```
在上面的代码中,我们定义了一个 `strcat_ptr` 函数,该函数将两个字符串连接在一起。我们使用两个指针 `s1` 和 `s2` 来遍历字符串,并在第一个字符串的末尾添加第二个字符串。最后,我们将字符串结束符 `\0` 添加到连接后的字符串的末尾。
在 `main` 函数中,我们使用 `gets` 函数从用户输入中读取两个字符串。然后,我们调用 `strcat_ptr` 函数将它们连接在一起,并打印结果。注意,`gets` 函数在实际编程中不推荐使用,因为它不提供任何输入长度限制,可能导致缓冲区溢出。实际应用中,可以使用 `fgets` 函数代替。
阅读全文