gpt4 book ai didi

谁能解释一下C程序的输出?

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:47 27 4
gpt4 key购买 nike

我在一本书上发现了这个问题。

问题:

下面程序的输出是什么?

#include <stdio.h>
int fun(int,int);
typedef int(*pf) (int,int);
int proc(pf,int,int);

int main()
{
printf("%d\n",proc(fun,6,6));
return 0;
}

int fun(int a,int b){
return (a==b);
}

int proc(pf p,int a,int b){
return ((*p)(a,b));
}

此代码在运行时会打印出 1。

我试着理解它,但没有,它没有用。这个程序是怎么回事,为什么输出 1?

提前致谢。

最佳答案

proc 通过函数指针间接调用 funfun 接收的参数同样是 66,相等运算符的计算结果为 int,其值为1 因为它们相等。如果它们不相等,== 运算符将产生 0

关于谁能解释一下C程序的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com