C专家编程 break
《C专家编程》中文版
第二章 33-34页
书上的意思是:
当switch语句中的某个case标签下嵌套if语句时,
if语句中的break会导致跳出整个switch语句,
自己试了一下
似乎不是那样的
break只是退出了if语句
case标签中余下的语句依然会执行
比如这样:
C/C++ code:
void main()
{
int a,b;
a=2;
b=1;
switch(a)
{
case 2:
if(b==1)
{
if(a==1)
break;
}
printf("a=1\n");//这一句依然会执行
default:
printf("Error!");
}
}
用VC6.0测试的
不知道是不是不同的编译器会产生不同的结果
C/C++ code:
void main()
{
int a,b;
a=2;
b=1;
switch(a)
{
case 2:
if(b==1)
{
if(a==1) //因为a等于1,所以这个条件不成立
break;//所以这个break不会被执行
}
printf("a=1\n");//这一句依然会执行
default:
printf("Error!");
}
}
C/C++ code
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.
相关问答:
在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
你们现在还在用C吗?C有前途吗?
一定,并永远坚持
引用
一定,并永远坚持
顶
有用。
楼主何出此言
楼主来c版问这个问题是踢馆用意吗哈哈
越来越冷是肯定的,完全淘汰倒也没那么容易
c ......
C/C++ code:
#include<stdio.h>
void main()
{
unsigned int v,u;
char c1,c2;
scanf("%o,%o",&u,&v);
scanf("%c,%c",&c1,&c2);
printf( ......
'\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......