C语言编写不使用stract函数实现两个字符串连接。
时间: 2024-02-22 14:59:05 浏览: 84
在C语言中,可以使用指针来操作字符串,从而实现字符串的连接。以下是一种实现方法:
```c
#include <stdio.h>
void string_concat(char *dest, char *src) {
// 指针移动到 dest 的末尾
while (*dest != '\0') {
dest++;
}
// 将 src 复制到 dest 的末尾
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
// 添加字符串结束标志
*dest = '\0';
}
int main() {
char str1[100] = "hello";
char str2[50] = "world";
// 连接两个字符串
string_concat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
以上代码中,`string_concat()` 函数接受两个字符串指针 `dest` 和 `src`,然后将 `src` 中的字符复制到 `dest` 的末尾,并在末尾添加字符串结束标志 '\0',从而实现字符串的连接。最后在 `main()` 函数中,调用 `string_concat()` 函数来连接两个字符串,并输出连接后的字符串。
相关问题
c语言不用stract函数实现两个字符串的连接
在 C 语言中,可以使用 `strcat()` 函数来实现字符串的连接。不过如果不想使用 `strcat()` 函数,可以使用以下代码实现两个字符串的连接:
```c
#include <stdio.h>
void string_concat(char *str1, char *str2) {
int i, j;
i = j = 0;
// 指针移动到 str1 的末尾
while (str1[i] != '\0') {
i++;
}
// 将 str2 复制到 str1 的末尾
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
// 添加字符串结束标志
str1[i] = '\0';
}
int main() {
char str1[100] = "hello";
char str2[50] = "world";
// 连接两个字符串
string_concat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
以上代码中,`string_concat()` 函数接受两个字符串指针 `str1` 和 `str2`,然后将 `str2` 中的字符复制到 `str1` 的末尾,并在末尾添加字符串结束标志 '\0',从而实现字符串的连接。最后在 `main()` 函数中,调用 `string_concat()` 函数来连接两个字符串,并输出连接后的字符串。
c语言编写程序将两个字符串连接,不要用stract函数。
可以使用循环遍历字符串,将第一个字符串的每个字符依次复制到新字符串中,再将第二个字符串的每个字符也依次复制到新字符串末尾即可实现字符串连接。具体的实现可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str1[100], str2[100], new_str[200];
int i, j;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 将第一个字符串的字符复制到新字符串中
for (i = 0; str1[i] != '\0'; i++) {
new_str[i] = str1[i];
}
// 将第二个字符串的字符复制到新字符串末尾
for (j = 0; str2[j] != '\0'; j++) {
new_str[i + j] = str2[j];
}
// 添加字符串结束标志
new_str[i + j] = '\0';
printf("连接后的字符串为:%s\n", new_str);
return 0;
}
```
阅读全文