以上代码如何用C语言让其按输入输出示例: 输入:Kim和You are beautiful! 输出: Kim,I want to say,You are beautiful!
时间: 2024-02-12 15:06:49 浏览: 63
可以使用以下C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char input_str[100]; // 定义一个字符数组存储输入的字符串
fgets(input_str, 100, stdin); // 从标准输入流中获取字符串,并存储到 input_str 中
input_str[strcspn(input_str, "\n")] = 0; // 去除输入字符串中的换行符
char* token = strtok(input_str, " "); // 将输入字符串按空格分割成字符串数组
char* input_list[10];
int i = 0;
while (token != NULL) {
input_list[i++] = token;
token = strtok(NULL, " ");
}
char output_str[100]; // 定义一个字符数组存储输出的字符串
sprintf(output_str, "%s,I want to say,%s!", input_list[0], input_list[1]); // 按要求拼接输出字符串
printf("%s\n", output_str); // 输出结果
return 0;
}
```
解释一下代码:
1. 第 6 行代码定义一个字符数组 `input_str`,用于存储输入的字符串。
2. 第 7 行代码使用 `fgets()` 函数从标准输入流(即键盘)中获取字符串,并将其存储到 `input_str` 中。`fgets()` 函数获取的字符串包含换行符,因此需要使用 `strcspn()` 函数去除换行符。
3. 第 10-14 行代码使用 `strtok()` 函数将 `input_str` 字符串按空格分割成字符串数组,并存储到 `input_list` 中。
4. 第 17 行代码定义一个字符数组 `output_str`,用于存储输出的字符串。
5. 第 18 行代码使用 `sprintf()` 函数按要求拼接输出字符串,并将其存储到 `output_str` 中。
6. 第 21 行代码使用 `printf()` 函数输出结果。
这样,用户输入的字符串就会按要求输出。
阅读全文