有以下程序: #include main() { int x,a=1,b=1; while(1) { seanf(“%d”,&x); if(x>0){a*=x;break;} if(X

admin2021-07-09  21

问题 有以下程序:
    #include
    main()
    {  int x,a=1,b=1;
    while(1)
    {  seanf(“%d”,&x);
    if(x>0){a*=x;break;}
    if(X<0){b*=x;continue;}
    prinff(“%d,%d\n”,a,b);
    }
    }
    程序运行时输入:一1—2 0 1 2<回车>,则输出结果是(    )。

选项 A、1,2
B、2,2
C、一1,1
D、一2,1

答案A

解析 分析程序结构,在while循环中,输入x的值后,若x的值大于0,将a的值累乘x,执行break语句跳出循环;若x的值小于0,将b的值累乘x,执行continue,进行下一个循环;当x的值等于0时,打印a、b的值,进入下一个循环;所以当输入一1、一2后,b累乘为2;输入0后,打印a、b的值为1,2,再输入1,a累乘跳出循环,程序运行结束;输出结果为1,2,故答案为A。
转载请注明原文地址:https://jikaoti.com/ti/Uvd0FFFM
0

随机试题
最新回复(0)