编写程序,不使用strcat函数实现两个字符串连接,连接字符串“Hello"和”World!"用c语言,不可以用指针
时间: 2024-02-24 18:55:55 浏览: 86
可以使用数组和循环来实现两个字符串的连接,具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str1[] = "Hello";
char str2[] = "World!";
int len1 = strlen(str1);
int len2 = strlen(str2);
char result[len1 + len2 + 1]; // 定义结果字符串数组
int i, j;
for (i = 0; i < len1; i++) {
result[i] = str1[i]; // 将第一个字符串添加到结果字符串中
}
for (j = 0; j < len2; j++) {
result[i + j] = str2[j]; // 将第二个字符串添加到结果字符串中
}
result[i + j] = '\0'; // 添加字符串结束标志
printf("%s\n", result); // 输出结果字符串
return 0;
}
```
通过数组和循环,我们可以将两个字符串连接起来并输出结果字符串。
相关问题
C语言不用指针不用strcat函数实现两个字符串的连接。
在 C 语言中,可以使用数组来操作字符串,从而实现字符串的连接。以下是一种实现方法:
```c
#include <stdio.h>
void string_concat(char dest[], char src[]) {
int i, j;
i = j = 0;
// 指针移动到 dest 的末尾
while (dest[i] != '\0') {
i++;
}
// 将 src 复制到 dest 的末尾
while (src[j] != '\0') {
dest[i] = src[j];
i++;
j++;
}
// 添加字符串结束标志
dest[i] = '\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语言简单编写数 15 作者 张丽华 单位 嘉兴南湖学院 本题要求编写程序,使用指针方式实现两个字符串的连接(不能使用strcat函数),并将连接后的字符串输出
下面是用指针方式实现字符串连接的 C 语言程序:
```c
#include <stdio.h>
void string_concat(char *dest, const char *src) {
// 找到 dest 的结尾
while (*dest) {
dest++;
}
// 将 src 的所有字符复制到 dest 的结尾
while (*src) {
*dest++ = *src++;
}
// 在 dest 的结尾添加 '\0'
*dest = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
string_concat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
这个程序定义了一个 `string_concat` 函数,它接受两个参数:`dest` 和 `src`,分别表示目标字符串和源字符串。函数首先找到 `dest` 的结尾,然后将 `src` 的所有字符复制到 `dest` 的结尾,并在 `dest` 的结尾添加一个空字符 `'\0'`。在 `main` 函数中,我们定义了两个字符串 `str1` 和 `str2`,并将它们连接起来,最后输出结果。
阅读全文