n01boy 发表于 2013-11-12 21:23:38

关于考场题目的疑问。

5. 以下函数定义的类型符是 [单选、必答题   满分:5分我的得分:0分]
[*]fishc(double x)
[*]{
[*]      printf("%lf", x+x);
[*]}

复制代码

A. double
B. void
C. int
D. 无法确定


为什么是int ?不是void?
它没有 return,函数名前没有类型说明符 是如何确定类型符的呢?

n01boy 发表于 2013-11-12 22:23:11

问题已经解决,测试代码如下↓:fun (double x)
{
      return x;      
}

void main()
{
    printf("%d\n",sizeof(fun(5.2)));
}编译上面这一段会提示: 'return' : conversion from 'double ' to 'int ', possible loss of data
                                 这个返回值 会强制把double 转换成int
结论就是,没有类型符的函数,默认返回值是int 型。

感谢群友“鬼人”大大的热心提醒。
页: [1]
查看完整版本: 关于考场题目的疑问。