分析
应该是3。
因为每次循环的头一句就是将x赋值给max,虽然循环最后有if判断,可是在下一次循环时,第一件做的事就是重新给max赋值,所以max总是最后一次输入的值。而-1是退出循环的条件,所以最后max是3。
结果当然是最大的数 =8
=3把 没去自己编译
这个程序是错的,在刚刚进入循环的后max=x,然而此时的x变量并没初始化,自己可以编程试试
6 2 1 8 0 3 -1
max=3
int main()
{
int x=0, max=0;
do
{
max = x;
scanf("%d", &x);
if (x > max) max = x;
} while (x != -1);
printf("max=%d\n", max);
scanf("%d", &x);
return 0;
}