题目
下列程序的输出结果是()。#include<stdio.h>void main( ) ( intx=1,a=0,b=0; switch(x) { case 1:a+ +;b+ +; case 2:a+ +;b+ +;break; case 3:a+ +;b+ +;break; ) printf( "a=%d,b=%dn" ,a,b) ; }A,a=1,b=0B,a=2,b=1C,a=1,b=1D,a=2,b=2
下列程序的输出结果是()。
#include<stdio.h>
void main( )
{
intx=1,a=0,b=0;
switch(x)
{
case 1:a+ +;b+ +;
case 2:a+ +;b+ +;break;
case 3:a+ +;b+ +;break;
}
printf( "a=%d,b=%d\n" ,a,b) ;
}
A,a=1,b=0
B,a=2,b=1
C,a=1,b=1
D,a=2,b=2
题目解答
答案
B,a=2,b=1。
在这个程序中,首先定义了变量x、a和b,并将x的值初始化为 1。
在switch语句中,当x的值等于 1 时,执行a++和b++,然后由于没有break语句,会继续执行下一个case语句,即执行a++和b++。
当执行到break语句时,才会跳出switch语句。
最后,输出a和b的值,即a=2,b=1。
解析
步骤 1:初始化变量
程序开始时,定义了变量x、a和b,并将x的值初始化为1,a和b的值初始化为0。
步骤 2:执行switch语句
在switch语句中,当x的值等于1时,执行case 1下的语句,即a++和b++。此时a和b的值都变为1。
由于case 1下没有break语句,程序会继续执行case 2下的语句,即a++和b++。此时a和b的值都变为2。
当执行到case 2下的break语句时,跳出switch语句。
步骤 3:输出结果
最后,程序输出a和b的值,即a=2,b=1。
程序开始时,定义了变量x、a和b,并将x的值初始化为1,a和b的值初始化为0。
步骤 2:执行switch语句
在switch语句中,当x的值等于1时,执行case 1下的语句,即a++和b++。此时a和b的值都变为1。
由于case 1下没有break语句,程序会继续执行case 2下的语句,即a++和b++。此时a和b的值都变为2。
当执行到case 2下的break语句时,跳出switch语句。
步骤 3:输出结果
最后,程序输出a和b的值,即a=2,b=1。