如果定义函数时,省略数据类型符,那这个函数的返回值是什么型的?

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:36:13
教材上没有写“定义函数时如果省略数据类型符怎么算”
所以随便写一个试试效果:
sub(int a) {float x=3.14;a=1;return(x);}
main()
{
int i=1;
float f;
f=sub(i);
printf("%f %f\n",f,sub(i));
}

发现变量F只得到了3.000000;而直接printf的sub(i)则是32.000000

结果是
3.000000 32.000000

请问省略了到底怎么定义?
通常什么情况下省略数据类型符?
是啊,是在TurboC 2.0中编的,专门对sub(i)用的%f因为想看看他返回的x是不是实型
感谢解答!

如果不指定函数类型,系统默认为是int类型的,我想问一下,你的这个程序是在vc中编译的,还是tc编译的啊,sub(i)能得到32.000000 吗,这个格式是错的,因为默认函数类型是int,所以输出时应该是%d

一般情况下都不省略,这样不容易出错的

关于 通常什么情况下省略数据类型符 的问题,
一般情况是不去省的,会把自己都搞糊涂,你如果省去了系统用int是系统
很无赖的选择(因为int我们用的最多),而不是系统为了方便程序员设立的捷径!(反正我是这样理解的),一个好的程序员应该对自己的每一个数据都了如指掌的!

~~默认是整形