酷代码 AI
菜单
服务商

读入两个不包含空格的字符串,将第一个字符连接在第二个字符串后面并且输出。 输入 由空格间隔的两个字符串, 每个字符串的长度不超过500 输出 一行,为读入的两个字符的合并。 样例输入 复制 fun! ac_ 样例输出 复制 ac_fun! 用C

```c #include <stdio.h> #include <string.h> #define MAX_LEN 500 int main() { char str1[MAX_LEN + 1], str2[MAX_LEN + 1]; // 读取两个字符串 scanf("%s%s", str1, str2); // 将 str1 连接到 str2 后面 strcat(str2, str1); // 输出连接后的字符串 printf("%s\n", str2); return 0; } ``` 代码解释: 1. 头文件包含: - `#include <stdio.h>`:用于标准输入输出函数,如`scanf`和`printf`。 - `#include <string.h>`:用于字符串处理函数,如`strcat`。 2. 宏定义: - `#define MAX_LEN 500`:定义字符串的最大长度,方便后续使用和修改。 3. 主函数: - `char str1[MAX_LEN + 1], str2[MAX_LEN + 1];`:定义两个字符数组`str1`和`str2`,用于存储输入的两个字符串。数组大小为`MAX_LEN + 1`,是为了给字符串结尾的空字符`'\0'`留出空间。 - `scanf("%s%s", str1, str2);`:使用`scanf`函数读取两个不包含空格的字符串,分别存储到`str1`和`str2`中。 - `strcat(str2, str1);`:使用`strcat`函数将`str1`连接到`str2`的末尾。`strcat`函数会将`str1`的内容追加到`str2`的后面,并自动更新`str2`的结尾空字符。 - `printf("%s\n", str2);`:使用`printf`函数输出连接后的字符串`str2`,并换行。 复杂度分析: - 时间复杂度:主要由`strcat`函数决定,时间复杂度为$O(n)$,其中$n$是`str1`的长度。 - 空间复杂度:主要是存储两个字符串的空间,空间复杂度为$O(m + n)$,其中$m$和$n$分别是两个输入字符串的长度。 [2025-12-07 17:36:38 | AI问答 | 520点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多