c新手吧 关注:8,593贴子:48,089
  • 5回复贴,共1
为什么自己定义的函数比方说butler必须是
void butler(void);
int main(void)
为什么
int main(void)
void butler(void);
就会出错呢
还有为什么main函数后面可以没有分号,自己定义的就必须有?
求教!!!


IP属地:广东1楼2017-02-12 13:56回复
    有分号的是函数声明,不是定义,编译器会逐行编译,所以main(){...}后面的声明都不会执行,但是如果main前面有一个函数的声明,main后面有这个函数定义则不会出错,因为编译器会在文件中找声明过的符号


    IP属地:福建来自Android客户端3楼2017-02-12 16:14
    收起回复
      一个一般C语言程序中必须有main函数的定义(因为这是程序入口),所以必须是定义后面没有分号,bulter是你自己加的,并且可以声明也可以定义,所以bulter可以有分号也可以无分号


      IP属地:福建来自Android客户端4楼2017-02-12 16:18
      收起回复
        来自Android客户端8楼2017-02-13 04:23
        回复