VC6.0的疑或..
本帖最后由 代码农民 于 2016-11-19 19:36 编辑我在VC6.0里新建了一个工程,在工程里面又建了几个文件,如下图:(图片可以点击放大)
经过编译连接可以运行。
这里面有一点疑问,还请大家教教我:
1.c中的main函数要调用f2必须在main前声函数原型,我把它加入到了头文件g.h中并在1.c中包含了,于是main能调用2.c中的f2函数(如果没有包含,工程会编译出错)。
在2.c文件中函数没有声明f3的函数原型,但工程能编译通过。请问为什么?,f3函数不是在3.c文件中吗?为什么在main中没有原型就不行,而在2.c中没有原型就可以..?
C语言中如果调用之前没有声明改函数,则该函数默认返回值为int类型,参数类型为输入实参的类型;如果这个假设与实际不符,就会报错。
比较好的做法是调用函数之前都要声明。 仰望天上的光 发表于 2016-11-19 19:58
C语言中如果调用之前没有声明改函数,则该函数默认返回值为int类型,参数类型为输入实参的类型;如果这个假 ...
.....您再看一下我的问题,{:5_111:} 人造人 发表于 2016-11-19 20:42
你能运行么? 人造人 发表于 2016-11-19 20:42
看图 ...
大家都说的很明白了,我就不说了…… 代码农民 发表于 2016-11-19 21:07
编译器不一样,结果也不一样,就是这样 四十二 发表于 2016-11-20 01:01
...
大家都说的很明白了,我就不说了……
唉.. 人造人 发表于 2016-11-20 10:22
编译器不一样,结果也不一样,就是这样
恩,很感谢,你已经帮我2回了.. 代码农民 发表于 2016-11-20 10:28
恩,很感谢,你已经帮我2回了..
1. 请楼主认真看我之前的回帖
2. 之所以6楼代码报错,是因为LZ把源文件扩展名写成.cpp了,这就会以C++语言的标准来编译
仰望天上的光 发表于 2016-11-20 21:29
1. 请楼主认真看我之前的回帖
2. 之所以6楼代码报错,是因为LZ把源文件扩展名写成.cpp了,这就会以C++语 ...
报歉..
页:
[1]