wuxianbiao 发表于 2021-6-4 22:30:19

求助,困扰我一下午了

#include <stdio.h>
int main(void)
{
        int number;
        int i = 0;
        printf("请输入一串数据:\n");
        while(getchar() != '\n')
        {
                printf("%d\n", i);
                scanf("%d", &number);
                printf("%d\n", number);
                i++;
        }
        return 0;
        //输入 1 22 33 为什么输出 22 33
        //输入 22 444 555 为什么输出2 444 555
}

lei1996 发表于 2021-6-4 22:37:52

因为getchar()会接收一个你输入的字符啊

Cute_Traver_Cat 发表于 2021-6-4 23:51:41

getchar截获了一个字符{:5_109:}

万千只cnm 发表于 2021-6-5 00:09:05

https://fishc.com.cn/forum.php?mod=viewthread&tid=68661&highlight=getchar
获得了你输入的第一个字符然后丢弃了相当于吞掉了

一生情缘 发表于 2021-6-5 11:40:38

你需要弄两次getchar()
页: [1]
查看完整版本: 求助,困扰我一下午了