用c语言用字符数组存储字符串并进行输入输出,测试输入zhangsan lisi,预期输出zhangsan love C! lisi love C!
时间: 2024-02-12 14:08:11 浏览: 38
好的,下面是用 C 语言字符数组存储字符串并进行输入输出的代码,测试输入 "zhangsan lisi",预期输出 "zhangsan love C! lisi love C!":
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入字符串:");
scanf("%[^\n]", str);
printf("%s love C! %s love C!\n", strtok(str, " "), strtok(NULL, ""));
return 0;
}
```
这段代码中,我们使用了 `strtok` 函数来分割输入的字符串。`strtok` 函数可以将一个字符串按照指定的分隔符进行分割,每次调用返回一个分割后的子字符串。
我们首先使用空格作为分隔符,分割出第一个单词 "zhangsan",然后再次调用 `strtok` 函数,返回剩下的部分 "lisi"。最后通过 `printf` 函数输出结果。
测试输入 "zhangsan lisi",输出结果为:
```
请输入字符串:zhangsan lisi
zhangsan love C! lisi love C!
```
输出结果符合预期,输入输出成功。
相关问题
用c语音中字符数组存储字符串并进行输入输出。测试输入: zhangsan lisi 预期输出: zhangsan love C! lisi love C!
好的,下面是用 C 语言字符数组存储字符串并进行输入输出的代码,测试输入 "zhangsan lisi",预期输出 "zhangsan love C! lisi love C!":
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入字符串:");
fgets(str, MAX_LEN, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉输入字符串中的换行符
char *p = strtok(str, " ");
printf("%s love C! ", p);
p = strtok(NULL, " ");
printf("%s love C!\n", p);
return 0;
}
```
这段代码中,我们使用了 `fgets` 函数来读取输入的字符串,`strcspn` 函数来去掉字符串中的换行符,`strtok` 函数来分割字符串。
首先使用 `fgets` 函数读取输入字符串,然后使用 `strcspn` 函数找到字符串中的换行符并将其替换为结束符 `\0`。然后使用 `strtok` 函数按空格分割输入字符串,得到第一个单词 "zhangsan",使用 `printf` 函数输出 "zhangsan love C! ",然后再次使用 `strtok` 函数得到第二个单词 "lisi",使用 `printf` 函数输出 "lisi love C!\n"。
测试输入 "zhangsan lisi",输出结果为:
```
请输入字符串:zhangsan lisi
zhangsan love C! lisi love C!
```
输出结果符合预期,输入输出成功。
用c语言用字符数组存储字符串并进行输入输出,测试输入zhangsan lisi
好的,下面是用 C 语言字符数组存储字符串并进行输入输出的代码:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入字符串:");
scanf("%s", str);
printf("您输入的字符串是:%s\n", str);
return 0;
}
```
我们定义了一个字符数组 `str`,大小为 `MAX_LEN`,即最大为 100 个字符。然后通过 `scanf` 函数输入字符串,再通过 `printf` 函数输出字符串。
测试输入 "zhangsan lisi" 后,输出结果为:
```
请输入字符串:zhangsan lisi
您输入的字符串是:zhangsan
```
发现只输出了 "zhangsan",这是因为 `scanf` 函数默认以空格、制表符或换行符作为字符串的结束符,所以只读取了第一个单词。如果要读取整个字符串,可以使用 `%[^\n]` 格式说明符,表示读取到换行符为止的所有字符,修改代码如下:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入字符串:");
scanf("%[^\n]", str);
printf("您输入的字符串是:%s\n", str);
return 0;
}
```
再次测试输入 "zhangsan lisi",输出结果为:
```
请输入字符串:zhangsan lisi
您输入的字符串是:zhangsan lisi
```
这次输出了整个字符串 "zhangsan lisi",输入输出成功。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)