c语言求对多行字符串交换特定行的字符串的代码
时间: 2023-12-27 18:03:10 浏览: 100
假设你有一个多行字符串的数组 `char str_arr[NUM_LINES][MAX_LINE_LENGTH]`,你要交换其中第 `line1` 和第 `line2` 行的字符串,可以使用以下的代码:
```c
void swap_lines(char str_arr[][MAX_LINE_LENGTH], int line1, int line2) {
char temp[MAX_LINE_LENGTH];
strcpy(temp, str_arr[line1]); // 保存第 line1 行的字符串
strcpy(str_arr[line1], str_arr[line2]); // 将第 line2 行的字符串复制到第 line1 行
strcpy(str_arr[line2], temp); // 将保存的第 line1 行的字符串复制到第 line2 行
}
```
在调用这个函数时,传入多行字符串的数组和需要交换的两行的行数即可:
```c
swap_lines(str_arr, 2, 5); // 交换第 2 行和第 5 行的字符串
```
注意,这里假设每行字符串的最大长度为 `MAX_LINE_LENGTH`,你需要根据实际情况修改这个值。同时,如果你需要在函数外部访问交换后的字符串,可以直接使用 `str_arr` 数组中的对应行。
阅读全文