首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

c语言switch语句

发布网友 发布时间:2022-04-20 13:45

我来回答

1个回答

热心网友 时间:2022-05-20 16:50

执行case2是因为在switch(x)中x=1,所以执行case1,然而case1这条语句没有break,所以switch(x)在执行了case1之后将继续往下依次执行case语句,直到碰到break就跳出switch循环。
对于“a的自加是先执行后在自加,当此程序a自加的时候没有执行其他语句啊??????”则是你没看到程序中的语句a++,b++它自加完了以后把值任然是赋值给a,b本身的,而不是赋值给其他变量例如c=a++;z=b++。如果是这样赋值给别的变量的话那么就很明确了c,z的值将和课本上说得一样都是自加以前的值。也就是说这个程序当中最后printf输出的是a,b的值,但是a,b在自加过程中值都变化了,就是说相当于语句a=a++,b=b++.
我将你的程序进行了更改,你将两个程序都运行下然后再对照着看一下就明白为什么a,b的值最后是2和1了,程序如下
#include<stdio.h>
main()
{
intx=1,y=0,a=0,b=0,c=0,z=0;
switch(x)
{case1:<br>switch(y)<br>{<br>case0:c=a++;break;<br>case1:b++;break;<br>}
case2:c=a++,z=b++;break;
case3:a++,b++;
}
printf("c=%d,z=%d
",c,z);
}
对于++i和i++有什么区别?
简单而言:++i在i存储的值上增加一并向使用它的表达式“返回”新的,增加后的值;而i++对i增加一,但返回原来的是未增加的值。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com