房天下 > 房天下问答 > 业主生活 > 其他
  • 无返回值的函数前面不加void好像从来不报错。

    我看见有的书上,自编的函数(无return)前落写了void,还以为是编者错误。但我自己写程序时,故意不写void,运行结果完全正确。也就是说,系统把这个函数当作int类型的了,但函数无返回值。却不影响运行结果。请教各位xdjm,这是怎么回事?好像理论和实际差别很大啊。(用vc和tc都没报错)

    提问者:zwwjaps

    发布于2010-12-09

共1个回答
  • dzxabc 丨Lv 0
    试试这个程序的各种情况,你会对返回值理解更好一点!/*void */prt(){ printf("Hello\n");// return 1;}int main(){ int retval=0; retval=prt(); printf("retval=%d\n",retval); return 0;}函数不加返回类型,默认为整型返回,无return的返回随机的一个数,你的测试虽然不报错,会报警告吧?比如上面我的测试无return时返回6;如果你的返回值不重要当然没大的影响,如果你要检验返回值,不写返回语句就麻烦了。另外关于main()函数的返回值,有一些注意的地方,就不说了,网上有。看到xdjm还以为你是西电(xd)的呢!网上一搜原来不是一个意思!
    +1 2010-12-09 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。