int i=1,j=0,m=1,n=2;
switch(i++)
{
case 1:m++;n++;
case 2:switch(++j)
{
case 1:m++;
case 2:n++;
}
case 3:m++;
n++;
break;
case 4:m++;
n++;
}
cout<<m<<','<<n<<endl;
输出结果为什么是4、5呢?
switch语句不是计算switch后面括号里面的值,然后在和case后面的进行比较,相等才执行case的语句么?
还有,case 1的1为什么没有引号?
为什么i++的时候i还是1,到了m++和n++的时候m和n的值都+1了呢?
++i和i++这样的一直很晕,那是不是就是i++在;之后就是2,在;之前就是1?
追答switch(i++) //i=1,执行case1
执行switch的时候是1,执行完这条语句是2
c++ case语句的问题
1、如果 n = 1,则从 case 1: 开始执行,直到遇到break或return语句才停止。所以输出XY;2、n = 2,从 case 2: 开始执行,直到遇到break或return语句才停止。所以输出XY;3、n =3 ,从 case 3: 开始执行,直到遇到break或return语句才停止。所以输出Y;4、n = 4,从 case 4: 开始...
C++,case语句的问题
(1)首先是case 1的1为什么没有引号。这个是switch()函数的要求格式,传进来的参数是什么类型,case后跟的就是什么类型.这里传进来的整形,所以case 后的1不加引号.加引号的可能就是判断字符类型,case后就加引号.(2)输出结果为什么是4、5,我简单给你走一遍流程吧。首先第一个传进来的i++的值,其实...
C++中switch语句中case分句后面只能跟字符量吗?
case后面 只要是能表示成 整数结果的表达式 全都可以 。单引号括起的 字符常量,例如: case 'a': case 'S': case '5': case '6': 都可以。因为字符常量 是整型,数值等于它们的 ASCII 值。其他, case 3: case 4:case TRUE:只要是能表示成 整数结果的表达式 全都可以 ...
C++中 switch 中 case的问题 是关于单引号和双引号的
case后面只能接常量表达式,一般是数字,单引号是字符可以直接转为整型,双引号是字符串,是不合法的。swith算比较常用的分支结构。
C++中switch语句出现case expression not constant
case后面修改为单引号,比如 case 'A'这样,而不是case "A"这样。因为单引号的时候表示常量,双引号的时候表示的是字符串,case只能识别整型常量。
C语言 c++ 运行程序后 输出的结果是什么 case do while
case 如果没有break,那么就会从当前case执行遇到break或者switch循环结束。比如以此题为例,当循环到c=e时,循环从case ‘e’:case ‘E’;开始执行,直到default结束。当c=i时,循环从case ‘i’:case ‘I’;开始执行,直到default结束。
一道简单的C++题目,关于SWITCH语句
switch(n){ case 16:++n; break;case 17:n+=2; break;case 18:++n; break;default:n++; break;} 如果你以为在case语句中修改过n的值以后还会重新进行switch(n)的判断的话你就错了,switch(n)只会判断一次,在一些标准更严格的语言如Java中这里的n必须是不可变的,即不能给n重新赋值...
一道简单的C++ switch题目
定义一个字符型变量 x='B' 进入选择条件分歧 .当x = 'A' 的时候 ,会输出"it's A",x='B'的时候 ,会输出"it's B"C同理 switch(x){ case XXX:case XXXX:...} 相当于 if(x=XXX){ } if(x=XXXX){ } ...因为先前定义x='B',所以进入选择分歧后..会输出“it's B"...
C++,switch语句错误?
输入小写c没有显示,是因为你的代码中没有作出规定。下面的修改(增加一个语句)可以兼容小写字母:把default打成了dafult,少了个字母a,也没有报错,是因为编译系统把它当作是你自定义的一个标号了。
C++中关于case中for循环的问题
就是说在for之后也是可以使用的,那么按照去掉大括号的程序,i的作用域是从声明之处到switch的大括号结束。而default标签跳过了i的声明语句却在i的作用域之中,这显然是有问题的。之所以加上大括号是正确的,是因为大括号改变了i的作用域 按照标准,这段代码的错误是main函数的类型是int,其他没错。