为什么第一次没有输出(哭)

题目内容:
从键盘任意输入两个符号各异的整数,直到输入的两个整数满足要求为止,然后打印这两个数。

    #include 
   int main()
  {
    int x1, x2;
    while (x1 * x2 >= 0 )
    {
        while (getchar() != '\n');
        printf("Input x1, x2:\n");
        scanf("%d,%d",&x1,&x2);
    }
    printf("x1=%d,x2=%d\n",x1,x2);
    return 0;
}

为什么这个代码第一次循环的时候''Input x1, x2''没有输出呀(悲)

你这不是得先输入,然后才执行printf("Input x1, x2:\n");么而且这个 while (x1 * x2 >= 0 )也应该是先接收输入的值再判断吧,不然不就死循环了么

img

x1,x2没有初值,你第一个while都进不去吧,把它们先初始成1
此外,getchar要放到scanf后面去,别把第一个数据直接丢弃了呀