用C语言编写程序,将两个字符串连接起来,不要用strcat函数
时间: 2023-11-22 14:52:02 浏览: 90
可以用指针来实现字符串连接。
以下是一个简单的例子:
```c
#include <stdio.h>
void mystrcat(char *dest, const char *src) {
// 将 dest 指针移动到字符串末尾
while (*dest != '\0') {
dest++;
}
// 将 src 复制到 dest 的末尾
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
// 将字符串结束符添加到 dest 的末尾
*dest = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
mystrcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
输出:
```
Hello, world!
```
在上面的代码中,`mystrcat` 函数将 `src` 指向的字符串追加到 `dest` 指向的字符串的末尾。首先,它将 `dest` 指针移动到字符串末尾,然后将 `src` 复制到 `dest` 的末尾,最后添加字符串结束符到 `dest` 的末尾。
相关问题
使用C语言编写一个程序,将两个字符串连接起来,不要用strcat函数
好的,以下是使用C语言编写的将两个字符串连接起来的程序,不使用strcat函数:
```c
#include <stdio.h>
#include <string.h>
void my_strcat(char *s1, char *s2) {
while (*s1) {
s1++;
}
while (*s2) {
*s1 = *s2;
s1++;
s2++;
}
*s1 = '\0';
}
int main() {
char str1[50], str2[50];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
my_strcat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
在这个程序中,我们定义了一个名为`my_strcat`的函数,它接受两个指向字符数组的指针作为参数,将第二个字符串连接到第一个字符串的末尾。具体实现如下:
- 使用一个while循环找到第一个字符串的末尾。
- 然后使用另一个while循环将第二个字符串的每个字符复制到第一个字符串的末尾。
- 最后将第一个字符串的末尾设置为'\0'。
在主函数中,我们首先从用户那里获取两个字符串,然后调用`my_strcat`函数将它们连接起来,最后输出结果。
需要注意的是,这个程序假设两个字符串都是以'\0'结尾的。如果不是,可能会导致程序崩溃或产生意外结果。所以,实际应用中还需要对输入进行有效性判断。
用c语言编写将两个字符串连接起来,不要用strcat函数。
好的,以下是用 C 语言编写将两个字符串连接起来的代码,其中使用了一个自定义的 `mystrcat` 函数:
```c
#include <stdio.h>
void mystrcat(char *dest, char *src);
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
mystrcat(str1, str2);
printf("%s\n", str1);
return 0;
}
void mystrcat(char *dest, char *src) {
int i, j;
// 找到 dest 末尾的位置
for (i = 0; dest[i] != '\0'; i++);
// 将 src 拷贝到 dest 末尾
for (j = 0; src[j] != '\0'; j++) {
dest[i + j] = src[j];
}
// 在 dest 末尾添加字符串结束标志 '\0'
dest[i + j] = '\0';
}
```
在代码中,我们首先定义了两个字符串 `str1` 和 `str2`,其中 `str1` 已经包含了一部分内容,而 `str2` 是要添加到 `str1` 后面的字符串。然后我们调用了 `mystrcat` 函数来将两个字符串连接起来,该函数接受两个指向字符数组的指针作为参数,表示要连接的两个字符串。首先,我们使用一个 for 循环找到 `dest` 字符串末尾的位置,然后使用另一个 for 循环将 `src` 字符串拷贝到 `dest` 末尾,最后在 `dest` 末尾添加字符串结束标志 `'\0'` 即可完成字符串的连接。
希望这个答案能够帮到你,如果你有任何问题或需要进一步的帮助,请随时向我提问。