首页 > 解决方案 > 将整个输入保存在整数数组中(使用 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]);
     }

标签: cgetchar

解决方案


请参阅有关原因的评论,但以下是正确的:

int main() {
    count= 0;
    while (count<49) {
        i = getchar();
        if (i == '/')
            break;
        safe[count++] = i;
    }
    safe[count]= '\0';
 }

推荐阅读