华夏.9 发表于 2020-1-27 20:41:14

关于函数指针和函数没有返回值类型居然可以执行。。。。。

/*
        不好意思哈,不太会发代码,麻烦先将就看下 谢谢 以后改正
        下边代码居然可以定义 fun 函数没有返回值类型(c-free可以编译执行),但是复制到别的编译器就得给函数指针加上类型,(我用c-free可以直接编译成功!),【这是小甲鱼c++快速入门代码】,(实在是不懂,太奇怪了,用手完整打一遍,无法编译成功 {:10_266:} ),各位大蛇指点一下,多谢!

*/

#include <stdio.h>

int fun(int x, int y);

int main()
{
      int i, a, b;
      int (*p)();    /* 声明函数指针 */
      
                printf("请输入十个数字: ");
      
      p = fun;            /* 给函数指针p赋值,使它指向函数f */

      
      for(i=0; i < 10; i++)
      {
                scanf("%d", &b);
                a = (*p)(a, b);    /* 通过指针p调用函数f */
      }

                printf("The Max Number is:%d", a);

      return 0;
}

fun(int x, int y)
{
    int z;

    z = (x > y) ? x : y;

    return (z);
}

ba21 发表于 2020-1-27 20:57:25

默认int

最后的魁拔 发表于 2020-1-27 21:35:16

本帖最后由 最后的魁拔 于 2020-1-27 21:39 编辑

a = (*p)(a, b)
刚开始a还没初始化,如何比较大小


      int (*p)(int,int);    /* 定义函数指针 */

华夏.9 发表于 2020-1-27 22:40:21

ba21 发表于 2020-1-27 20:57
默认int

感谢

华夏.9 发表于 2020-1-27 22:40:53

最后的魁拔 发表于 2020-1-27 21:35
a = (*p)(a, b)
刚开始a还没初始化,如何比较大小



感谢
页: [1]
查看完整版本: 关于函数指针和函数没有返回值类型居然可以执行。。。。。