【发布时间】:2021-11-27 08:11:08
【问题描述】:
我正在开发一个程序,该程序接受用户给定的任意长度输入,并检查该输入的第一个字符(空格之前)是否在第 10 到第 16 之间位置 输入相同的字符串,那么如果字符在第 10 到 16 位之间,它将回显输入(在空格之后)。
当前代码
# include <stdio.h>
int main() {
int in;
in = getchar();
while (in != '\n'){
putchar(in);
in = getchar();
}
return 0;
}
这段代码可以让我输入任意大小的内容并将其回显。我遇到问题的地方是遍历输入并检查第一个字符是否在输入的第 10-16 个字符中.我尝试使用指针无济于事,因为我不知道如何在不使用字符串的情况下执行此操作我不能仅使用字符串,因为字符串要求我输入一个长度,在这种情况下不允许设置长度。
电流输入和输出
>f 012r4g67f
f 012r4g67f
>a 012345678a
a 012345678a
正确的输入和输出
>f 012r4g67f
什么都不应该被回显,因为 'f' 不在 10 - 16 之间
>a 012345678a
012345678a
空格后的所有内容都被回显为 a 在前 10 - 16 个字符内
【问题讨论】:
标签: c string input while-loop char