易截截图软件、单文件、免安装、纯绿色、仅160KB

C break跳出多层循环

 在C/C++中,跳出多层循环有3中方法:
  1.用break;加上一个辅助的标志变量。  
  2.用goto;  
  3.用try   ...   catch;
其中break对if-else语句无效,每次使用只能跳出一层循环。
用break的具体方法为:
bool BREAK=false;
while(...){
for(...){
if(...){BREAK=true;break;}
}
if(BREAK) break;
}

或者:
bool BREAK=false;
while(...){
for(...){
if(...){BREAK=true;break;}
}
if(BREAK) break;
}

方法二由于goto不符合结构化程序设计的思想,已经不再使用。
方法三的成本太高,而且一般不把异常处理用在正常情况下。


相关文档:

C++ interview C/C++的堆栈,内存分配

C/C++的堆栈,内存分配
2008年12月02日 星期二 11:51
一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:
1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。
2、堆区(heap) :一般由程序员手动申请以及释 ......

B/S结构和C/S结构

一、什么是B/S结构和C/S结构。
      第一、什么是C/S结构。
      C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目 ......

C/C++程序员应聘常见面试题深入剖析

 2.找错题
  试题1:
void test1()
{
 char string[10];
 char* str1 = "0123456789";
 strcpy( string, str1 );
}
  试题2:
void test2()
{
 char string[10], str1[10];
 int i;
 for(i=0; i<10; i++)
 {
  str1[i] = 'a';
 }
 strcpy( string, str1 );
}
  试题3:
void te ......

C++与C混合编程(转)

(转)C++中extern “C”含义深层探索
 
 
1.引言
  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象&rdquo ......

C/C++ 笔记(零碎点)

1)a = a + 5; 与 a += 5;的区别。
    二者在广义上是等价。D.Ritchie 在C语言中引入复合运算符的主要目的是为了提高编译的效率以产生高质量的执行代码。因为这些运算符的功能基本上都能用一二条机器指令来完成。
2)在C++中long 与 int 的区别
NameDescriptionSize*Range*
char
Character or s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号