小mi糊 发表于 2023-2-7 10:43:24

吐槽一下,这种题也能够用来考试吗


函数是可以先使用在定义的么

嘉岳呀 发表于 2023-2-7 17:48:05

函数怎么没有类型

小mi糊 发表于 2023-2-7 18:17:48

嘉岳呀 发表于 2023-2-7 17:48
函数怎么没有类型

不严谨的写法吧,就是看的很变扭

zhangjinxuan 发表于 2023-2-7 19:21:42

解释1
函数怎么没有类型
对于 main 函数,可以没有类型,默认为 signed int,但是对于其他自定义的函数,没有类型可能会报错

在某些神奇的编译器中,你没有类型可能会自动返回 int 或者根据你 return 的东西来判断

这种写法当然不提倡,因为严谨的 ANSI C 是会报错的
解释2
函数是可以先使用在定义的么
可以,某些智能的编译器可以,当然还是不提倡,因为还是有些编译器会直接报错(也可能是系统差异,不同系统、编译器编译的过程不同)

当然你可以先声明,再使用,最后定义,这也是可以的,不过本人还是建议按照 声明 - 定义 - 使用 的过程写代码

小mi糊 发表于 2023-2-7 19:53:07

zhangjinxuan 发表于 2023-2-7 19:21
解释1

对于 main 函数,可以没有类型,默认为 signed int,但是对于其他自定义的函数,没有类型可能会报 ...

谢谢你的解答,很反感还有高校会这样出题,显得很没水平

zhangjinxuan 发表于 2023-2-7 20:06:38

小mi糊 发表于 2023-2-7 19:53
谢谢你的解答,很反感还有高校会这样出题,显得很没水平

我们应该要与时俱进,不能再停留在旧语法了,还容易误导学生,这样的行为我十分反对{:5_99:}

换个角度,他是在检验学生的语法能力?{:10_277:}

dolly_yos2 发表于 2023-2-7 20:32:31

本帖最后由 dolly_yos2 于 2023-2-7 20:36 编辑

很高兴我没遇到过这样的问题。遇上的话我肯定得搬出 C 语言标准讲讲道理
省略返回值类型好像是太古时期的事情,然而按照现在的标准必然是一个文法错误
标识符的可见范围也有明确的规定,先用再声明就是错误的
页: [1]
查看完整版本: 吐槽一下,这种题也能够用来考试吗