main() { int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++
题目
main() { int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++
printf("a=%d,b=%d
",a,b);}
答案是a=2,b=1 我很菜啊
答案
1. switch结构分支没加break;跳出语句,开始执行后,程序由x=1调到case 1 分支 a++(a由0自己加为1),由于没有break语句,程序继续执行到case 2 分支 a++ b++(a由1自加变2,b由0自加为1),之后程序printf输出 a=2 ,b=1
2.添加break后,结果是a=1,b=0
#include "stdio.h"
main()
{
x09int x=1,a=0,b=0;
x09switch(x)
x09{ case 0 : b++ ; break ;
x09 case 1 : a++ ; break ;
x09 case 2 : a++ ; b++ ; break ;
x09}
printf("a=%d,b=%d
",a,b);
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点