【问题标题】:How To Check If First Character Is In Specific Positions Of Input "C"如何检查第一个字符是否在输入“C”的特定位置
【发布时间】: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


    【解决方案1】:

    您有两种方式来处理用户输入:

    • 您在遍历 getchar 时读取并使用 if 来分析返回的字符

    • 您将 getchar 返回存储到数组中以操作内容

    【讨论】:

    • 如何将 getchar() 返回值存储到数组中?然后遍历数组?我对 C 有点陌生,所以我不知道这个问题是否初级。
    • 你需要知道how to use arrays,然后在你为你的字符串设置正确的大小之后,你可以像array[index] = cc 是你的char 存储一个是一个getchar 返回跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多