c - 将整个输入保存在整数数组中(使用 getchar 读取)
问题描述
我只被允许使用 stdio.h 库。所以我想用 getchar 读取用户输入,直到第一个“/”,然后想将读取的输入保存在一个整数数组中。从 while 循环中检查输入,我发现只有最后一个字符串是安全的。
例如,我输入“test/hello”,我想在名为“safe”的整数数组中保护“test”,这样我也可以在 while 循环之外使用它。
我已经用“putchar(safe[count]);”检查了while循环中的输入。但唯一安全的输入是字母“t”。(基于上面的例子)
#include <stdio.h>
int count;
char i;
int safe[50];
int main() {
while (1) {
i = getchar();
count = 0;
if (i == '/')
break;
safe[count] = i;
}
// putchar(safe[count]);
}
解决方案
请参阅有关原因的评论,但以下是正确的:
int main() {
count= 0;
while (count<49) {
i = getchar();
if (i == '/')
break;
safe[count++] = i;
}
safe[count]= '\0';
}
推荐阅读
- python - 实时将控制台输出重定向到 pyqt5 gui
- java - 从 Splunk 中的列表进行统计
- html - 银行系统日志问题,记录操作的负载数,用于跟踪贷款在其生命周期内
- dart - 冻结包中是否有任何“初始化程序列表”?
- spring-boot - 我怎样才能找到两个价格区间之间的产品,
- css - Ant Design 图标未对齐/居中
- c++ - 如果第二个参数是右值,则重载 != 运算符不起作用
- android - 通过Android 11上的存储访问框架将文件从应用程序特定的外部存储移动到用户选择的目录?
- jquery - 使用 Laravel 和 jQuery AJAX 在模态中显示特定的数组图像
- flutter - 有没有办法检查后期变量是否已初始化