• 【C】退出break,return,exit,goto


    break语句

            用于跳出while、do、for循环

    break作用:

            1.在一个判断时退出。例如,if(...)..break;

            2.在嵌套循环时从最内层的循环退出(只退出一层),例如在while循环内嵌套switch..break语句,break可以从switch语句中转移出来,但不能跳出while循环

            注意:return后面没有break语句,紧跟在return语句后的break永远不会被执行,许多编译器还会因此提示警告消息

    return语句

            非void函数必须使用return语句来指定将要返回的值。

            return语句中表达式的类型和函数的返回类型必须匹配,如果没有表达式,return语句可以出现在返回类型为void的函数中

    exit函数

    在main函数中终止程序的两种方法——return语句和exit函数

            头文件:#include

            传递给exit函数的实际参数和main函数的返回值具有相同的含义:两者都说明了程序终止时的状态

            正常终止:exit(0); 因为0有点模糊,所以C语言允许用EXIT_SUCCESS来代替(效果是相同的)exit(EXIT_SUCCESS);

            表示异常终止:exit(EXIT_FAILURE);

            EXIT_SUCCESS和EXIT_FAILURE都是定义在中的宏。他们的值都是由实现定义的,通常分别为0和1。

            return语句和exit函数之间的差异是:不管哪个函数调用exit函数都会导致程序终止,return语句仅当由main函数调用时才会导致程序终止,一些程序员只使用exit函数,以便更容易定位程序中的全部退出点。

    continue语句

            continue无法跳出循环,但它和break类似,break刚好把程序控制转移到循环体末尾之后,而continue刚好把程序控制转移到循环体末尾之前,用break可以跳出循环,而continue可以把程序控制在循环内。break和continue另一个区别是break语句可以用于switch语句和循环for,while、do...而continue只能用于循环

            举例:在如下循环体中,实现了循环在读入10个非零数后循环终止。当n==0时,会跳过sum+=i;和n++的操作,但仍然在循环体while内。

    1. void main()
    2. {
    3. int n=0;
    4. int sum=0;
    5. while(n<10)
    6. {
    7. scanf("%d",&i);
    8. if(i==0)
    9. continue;
    10. sum+=i;
    11. n++;
    12. }
    13. }

    goto语句

            break语句和continue都是跳转语句:他们把控制从程序中一个位置转移到另一个位置。这两者都是受限制的:break语句的目标时包含该语句的循环结束后的那一点代码,而continue语句的目标是循环结束之前的那一点代码。goto语句则可以跳转到函数中任何有标语的语句处

            goto 标识符:执行该语句时,控制会转移到标识符后面的语句上,而且该语句必须和goto语句在同一个函数中。

    1. goto L;
    2. L:....

  • 相关阅读:
    【EI会议信息】第二届航空航天与控制工程国际学术会议(ICoACE 2023)
    萝卜快跑:隐私与安全并重的无人驾驶之旅
    七天学会C语言-第四天(数组)
    2023年中国雷达设备市场规模及市场份额分析[图]
    [性能测试]DB2数据库的耗时查询
    【备考网络工程师】如何备考2023年网络工程师之错题集篇(3)
    Redis 的大 Key 对持久化有什么影响?
    Windows下一键搭建MBP系统,支持多种版本任意选择,免费永久使用,多系统使用新方案
    自然语言生成技术现状调查:核心任务、应用和评估(1)
    Leetcode 39.组合总和
  • 原文地址:https://blog.csdn.net/qq_53830608/article/details/127433264