C语言将二维字符串数组里面的每行字符串拼接成一个字符串,给出具体代码
时间: 2024-02-19 08:57:58 浏览: 180
以下是将二维字符串数组里面的每行字符串拼接成一个字符串的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_ROWS 10
#define MAX_COLS 50
int main() {
char str[MAX_ROWS][MAX_COLS]; // 二维字符串数组
char result[MAX_ROWS * MAX_COLS]; // 拼接后的字符串
int i, j, k;
// 输入二维字符串数组
printf("请输入二维字符串数组:\n");
for (i = 0; i < MAX_ROWS; i++) {
fgets(str[i], MAX_COLS, stdin);
str[i][strlen(str[i]) - 1] = '\0'; // 去掉字符串末尾的换行符
}
// 拼接每行字符串
k = 0;
for (i = 0; i < MAX_ROWS; i++) {
for (j = 0; j < strlen(str[i]); j++) {
result[k++] = str[i][j];
}
}
result[k] = '\0'; // 在字符串末尾添加'\0'字符
// 输出拼接后的字符串
printf("拼接后的字符串为:%s\n", result);
return 0;
}
```
该代码首先定义了一个二维字符串数组 `str`,数组中包含 `MAX_ROWS` 行,每行最多包含 `MAX_COLS` 个字符。接着定义了一个字符串 `result`,用于存储拼接后的结果。然后通过 `fgets` 函数从标准输入中读入二维字符串数组 `str`。接下来,通过嵌套循环遍历每行字符串,将每个字符依次拼接到 `result` 字符串中。最后输出拼接后的字符串。
注意,以上代码中使用了 `fgets` 函数来读入字符串。`fgets` 函数可以读取一行字符串,并且会自动在字符串末尾添加一个换行符。因此,需要使用 `str[i][strlen(str[i]) - 1] = '\0'` 将字符串末尾的换行符替换成结束符 `\0`。
阅读全文