程序改错-3
从键盘任意输入两个符号各异的整数,直到输入的两个整数满足要求为止,然后打印这两个数。请通过测试找出下面这个程序存在的问题(不止一个问题哦),并改正。同时用下面给出的运行结果示例检查修改后的程序。
从键盘任意输入两个符号各异的整数,直到输入的两个整数满足要求为止,然后打印这两个数。请通过测试找出下面这个程序存在的问题(不止一个问题哦),并改正。同时用下面给出的运行结果示例检查修改后的程序。
#include <stdio.h>
int main()
{
int x1, x2;
do
{
printf("Input x1, x2:");
scanf("%d,%d", &x1, &x2);
}
while (x1 * x2 > 0);
printf("x1=%d,x2=%d\n", x1, x2);
return 0;
}
改错后
#include <stdio.h>
int main()
{
int x1, x2, n, flag;
do
{
flag = 0;
printf("Input x1, x2:\n");
n = scanf("%d,%d", &x1, &x2);
switch (n)
{
case 0:
while (getchar() != '\n');
flag = 1;
break;
case 1:
while (getchar() != '\n');
flag = 1;
break;
default:
if (x1 * x2 >= 0)
flag = 1;
else
flag = 0;
break;
}
}
while (flag == 1);
printf("x1=%d,x2=%d\n", x1, x2);
return 0;
}