c语言switch语句

c语言switch语句,第1张

执行case 2是因为在switch (x) 中x=1,所以执行case 1,然而case 1 这条语句没有break,所以switch (x)在执行了case 1之后将继续往下依次执行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 <stdioh>

main()

{

int x=1,y=0,a=0,b=0,c=0,z=0;

switch (x)

{case 1:

switch(y)

{

case 0:c=a++;break;

case 1:b++;break;

}

case 2: c=a++,z=b++;break;

case 3:a++,b++;

}

printf("c=%d,z=%d\n",c,z) ;

}

对于 ++i 和i++ 有什么区别?

简单而言: ++i在i 存储的值上增加一并向使用它的表达式“返回” 新的, 增加后的值; 而i++ 对i增加一, 但返回原来的是未增加的值。

c语言中,switch语句的使用格式如下:

switch(表达式)

{

case

常量表达式1

:

语句1;

break;

case

常量表达式2

:

语句2;

break;

case

常量表达式n

:

语句n;

break;

default

:

语句n+1;

}

举例如下:

int i=4, a=0;

switch(i)

{

case 1 : a++; break; // 如果i=1,执行case 1 后面的语句,执行完后退出switch

case 2 : a+=2; break; // 如果i=2,执行case 2 后面的语句,执行完后退出switch

case 4 : a+=4; break; // 如果i=4,执行case 4 后面的语句,执行完后退出switch

default : a=0; // 如果i不等于上面所以case中的值,执行default后面的语句,执行完后退出switch

}

以上就是关于c语言switch语句全部的内容,包括:c语言switch语句、C语言switch语句、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9790111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存