C语言写一段能输入包含空格的字符存入字符串str1当输入的字符全部存入str1但没能填满str1时也能结束输入。然后将输入的字符串输出。并解释代码运行过程
#include <stdio.h>
#include <string.h>
int main() {
char str1[100];
char str2[100];
int i = 0;
printf("请输入包含空格的字符(最多100个字符):\n");
while (1) {
scanf("%c", &str1[i]);
if (str1[i] == ' ' || str1[i] == '\n') {
break;
}
i++;
}
str1[i] = '\0';
printf("输入的字符串为:%s\n", str1);
return 0;
}
代码运行过程解释:
- 定义了两个字符数组
str1和str2,分别用于存储输入的字符和输出的字符串。 - 定义变量
i用于记录输入的字符的个数。 - 输出提示信息,要求用户输入包含空格的字符。
- 进入循环,使用
scanf函数逐个读取字符,并存入str1数组中的每个位置。 - 判断当前读取的字符是否是空格或换行符,如果是则跳出循环。
- 将
str1数组的最后一个位置设置为字符串结束符\0。 - 输出存储的字符串
str1。 - 程序结束。
代码的核心思想是通过循环逐个读取字符,并判断是否是空格或换行符来结束输入。最后将输入的字符存入字符串中,并输出
原文地址: https://www.cveoy.top/t/topic/icD9 著作权归作者所有。请勿转载和采集!