代码之家  ›  专栏  ›  技术社区  ›  Jayesh

C中void函数中的return语句

  •  0
  • Jayesh  · 技术社区  · 8 年前

    为什么编译器不给出任何错误或警告?

    cc -Wall -pedantic my_program.c
    

    #include <stdio.h>
    
    void f()
    {
            return; // return statement in void function
    }
    
    int main()
    {
            f();
            return 0;
    }
    

    我已经在 通用条款 编译器打开 Linux

    2 回复  |  直到 8 年前
        1
  •  8
  •   Bathsheba    8 年前

    当然你可以用 return; 在一个 void 作用否则,你会如何从这样一个函数中提前返回?

    (请注意 必须 return 明确地从非- 无效的 功能,但 main() ,编译器必须在其中生成 return 0;

        2
  •  1
  •   melb27    8 年前

    如果没有return语句,控件将在函数末尾返回给调用方。