return和break的区别解析_C 语言

复制代码 代码如下:

/*
  Name:return和break的区别
  Copyright: By.不懂网络
  Author: Yangbin
  Date:2014年2月25日 02:13:22
  Description:以下代码无实际意义,只用来区分return和break的区别。
*/
#include <stdio.h>
void a(void)
{
    int i;
    for(i=0;i<5;++i)
    {
        printf("AAAA\n");
        //break; //break用来终止for循环,当i=0<5成立执行AAAA,然后break循环结束
        //所以输出结果为AAAA一次 BBBB一次。 注释掉break换成return
        return;
    }
    printf("BBBB\n");
}
int main(void)
{
    a();

    return 0;
}

/*
----------------------
该代码由C-Free 5.0 编写并输出调试结果
--------------输出结果---------------
break时结果:
AAAA
BBBB

return时结果:
 AAAA
 ------结论-----
 return和break的区别,break是终止循环的,而return在表达式为空(void)时,不向被调
 函数返回任何值,终止这个函数。 另一个含义是表示从被调函数返回到主调函数继续执
 行,返回时可附带一个返回值,由return后面的参数指定。如:
 int i()
 return 10;

*/

时间: 2024-09-10 03:14:26

return和break的区别解析_C 语言的相关文章

C++用new创建对象和不用new创建对象的区别解析_C 语言

我们都知道C++中有三种创建对象的方法,如下: 复制代码 代码如下: #include <iostream>using namespace std; class A{private:    int n;public:    A(int m):n(m)    {    }    ~A(){}}; int main(){    A a(1);  //栈中分配    A b = A(1);  //栈中分配    A* c = new A(1);  //堆中分配 delete c;    return

C与C++ 无参函数的区别解析_C 语言

下面是一个C语言的函数和C++的函数验证了这段话 复制代码 代码如下: # include<stdio.h> int fun1(); int main(){ int a = fun1(3, 4); printf("%d\n", a); return 0;} int fun1(int a, int b){ return a + b;} 结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int) 复制代码 代码如下: # include<iostre

C语言中char*和char[]用法区别分析_C 语言

本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以: 当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written". 当用char s[]=&q

C++直接初始化与复制初始化的区别深入解析_C 语言

C++中直接初始化与复制初始化是很多初学者容易混淆的概念,本文就以实例形式讲述二者之间的区别.供大家参考之用.具体分析如下: 一.Primer中的说法 首先我们现来看看经典是怎么说的: "当用于类类型对象时,初始化的复制形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造函数,复制初始化总是调用复制构造函数.复制初始化首先使用指定构造函数创建一个临时对象,然后用复制构造函数将那个临时对象复制到正在创建的对象" 还有一段这样说: "通常直接初始化和复制初始化仅在低级别优化

全局变量与局部变量在内存中的区别详细解析_C 语言

一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表. 3.全局区(静态区)(static)-,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域(.data),未初始化的全局变量

exit和atexit的区别详细解析_C 语言

一.exit()函数函数声明:void exit(int state);exit()函数用于在程序运行的过程中随时结束程序,exit的参数state是返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束.main函数结束时也会隐式地调用exit函数.exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流.关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件. 二.atexit()函数函数声明:int atexi

new和malloc的区别深入解析_C 语言

1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配.原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块.如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL.当内存不再使用时,应使用free()函数将内存块释放. 1.2 void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间,返

C++形参与实参的区别实例解析_C 语言

本文以实例阐述了C++中形参与实参的区别,有助于读者加深对于C++形参与实参的认识. 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用.实参出现在主调函数中,进入被调函数后,实参变量也不能使用. 形参和实参的功能是作数据传送.发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送. 1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元.因此,形参只有在函数内部有效. 函数调用结束返回主调函数后则不能再使用该

C语言中auto,register,static,const,volatile的区别详细解析_C 语言

1)auto这个关键字用于声明变量的生存期为自动,即将不在任何类.结构.枚举.联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量.这个关键字不怎么多写,因为所有的变量默认就是auto的. (2)register这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率. (3)static常见的两种用途:1>统计函数被调用的次数; 2>减少局部数组建立和赋值的开销.变量的建立和赋值是需要一定的处理器开销的,特别是数组等含有较多元素的存储类型.在一