关于函数指针和函数没有返回值类型居然可以执行。。。。。
/*不好意思哈,不太会发代码,麻烦先将就看下 谢谢 以后改正
下边代码居然可以定义 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);
}
默认int 本帖最后由 最后的魁拔 于 2020-1-27 21:39 编辑
a = (*p)(a, b)
刚开始a还没初始化,如何比较大小
int (*p)(int,int); /* 定义函数指针 */ ba21 发表于 2020-1-27 20:57
默认int
感谢 最后的魁拔 发表于 2020-1-27 21:35
a = (*p)(a, b)
刚开始a还没初始化,如何比较大小
感谢
页:
[1]