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++;
}
}
有一个很明显的错误,变量c被读了两次后才开始第一次循环,分别在第四行和第八行。
改正的方法有两种
1,删掉第4行
2,去掉第八行的c=getchar,并把这句移动到while末尾
去掉第4行应该就可以了哦!
因为第4行把你输入的第一个1给读取掉了,所以while()循环中的getchar()函数是从第二个字符开始读取的。
这都是小问题,以后注意就行了,加油加油!🤓