首页 > 试题广场 >

在C语言中,下面的说明汇总,正确的函数定义有?

[不定项选择题]
在C语言中,下面的说明汇总,正确的函数定义有()。
  • void f(void)
  • void f(void){}
  • f(int s){}
  • f(int s){return s+1;}
  • double f(){return 0.0;}
推荐
答案:BE
A ,函数声明,不是函数定义
B,正确的函数定义
C,无返回值类型,编译可以通过但是不规范
D,无返回值类型却有return值,明显错误
E,正确
编辑于 2015-02-05 10:04:33 回复(10)
c标准和c++标准不同
对于C标准我认为 BDE 都对
发表于 2015-07-04 14:15:28 回复(5)
答案BCDE,在C语言中如果没有生命返回值类型默认为int型,如果也没有返回值指定时,默认返回1

发表于 2022-07-14 20:09:55 回复(2)
C++无返回值不行,未显示定义返回值而返回int更不行,VS2015编译不通过;
C可以,返回int,无返回值即void都可以,并正常使用;
又是迅雷...好几道题都是备受争议了...出题人水平真的无法言喻...好好练习、继续努力,争取以后不去迅雷o(╯□╰)o
发表于 2017-04-26 21:18:44 回复(0)
C如果是带参的构造函数呢?应该是对的吧
发表于 2015-10-21 17:06:00 回复(5)
c项函数返回值的默认类型为int型,所以应该是有返回值的
发表于 2017-05-30 15:27:38 回复(0)
C++ BE C BDE
发表于 2020-03-11 19:06:43 回复(0)
A选项,声明?呵呵,没分号好吧
发表于 2018-09-08 16:40:33 回复(0)
对于C标准来说选BDE
对于C++标准来说选BE
发表于 2017-11-22 22:44:44 回复(0)
c项,构造函数不是可以写成这样吗?
发表于 2018-09-26 15:40:43 回复(0)

在C语言中,函数的默认返回值是int类型的。如果函数没有显式地指定返回值,则默认返回0。

而在C++中,函数的默认返回值取决于函数的类型。如果函数的返回类型是非void类型,则必须显式地指定返回值。如果函数没有显式地指定返回值,则编译器会发出警告。对于void类型的函数,可以不显式地指定返回值,但也可以使用return语句来提前结束函数的执行。

总的来说,C语言和C++在函数默认返回值的处理上有一些差异。C语言中默认返回0,而C++中则要求显式指定返回值或使用return语句来提前结束函数的执行。

发表于 2023-09-17 11:53:30 回复(0)
对于C、D选项,是不是有牛牛里面有一题:如果没有声明函数的返回类型,会默认为int类型,所以C、D是对的吧?那位大佬解析一下?
发表于 2023-05-06 12:38:13 回复(0)
C选项无返回值类型,不应该是省略的void吗?而且结构体没有返回值啊,不懂这个为什么不对,请教一下!
发表于 2022-09-13 11:08:41 回复(0)
C语言中:C选项有什么问题?
发表于 2022-04-08 13:25:55 回复(0)
没有说明按什么标准来,破题
发表于 2020-04-30 20:15:24 回复(0)
这答案有问题吧,老的编译器默认为int,那么d该怎么说
发表于 2019-01-22 14:52:27 回复(0)
在c里不是默认函数返回类型为int麽?但是c++下必须指出返回类型,这道题不严谨
发表于 2018-07-05 20:02:37 回复(0)
C选项可以是类中的构造函数,这也有错嘛,都不写类嘛?
发表于 2018-04-27 09:52:16 回复(0)
查看了下stackoverflow的讨论,好像还是比较倾向于f(void)是被c++所弃用的形式.(链接:https://stackoverflow.com/questions/416345/is-fvoid-deprecated-in-modern-c-and-c)。
发表于 2018-04-13 08:01:27 回复(0)
C++不支持默认返回int
发表于 2018-04-08 09:01:00 回复(0)
感觉答案有问题

在C89标准中,如果省略返回类型,其默认返回类型为 int 类型、
所以我认为是B D E
发表于 2018-03-13 14:00:15 回复(0)