while ((c = getchar()) != '\n')读取时第一个字符u读取

char Num_1[81] = { '\0' };
char Num_2[81] = { '\0' };
char c;
c = getchar();
int p = 0;
int i = 0;
int blank = 0;
while ((c = getchar()) != '\n)

{
    if ((blank == 0) && (c >= '0'&&c <= '9'))
    {
        Num_1[i] = c;
        printf("Num_1[%d]:%c\n", i, Num_1[i]);
        i++;
    }
    else if (isdigit(c) == 0)
    {
        blank = 1;
    }
    else if ((blank == 1) && (c >= '0'&&c <= '9'))
    {
        Num_2[p] = c;
        printf("Num_2[%d]:%c\n", p, Num_2[p]);
        p++;
    }
}

img

有一个很明显的错误,变量c被读了两次后才开始第一次循环,分别在第四行和第八行。
改正的方法有两种
1,删掉第4行
2,去掉第八行的c=getchar,并把这句移动到while末尾

去掉第4行应该就可以了哦!
因为第4行把你输入的第一个1给读取掉了,所以while()循环中的getchar()函数是从第二个字符开始读取的。
这都是小问题,以后注意就行了,加油加油!🤓