书上说MAIN函数位置可以随意,为什么计算时候一定要前置

CKZDAYMNPEE 2024-02-16 01:42:49
#include <stdio.h>

int fun(int x, int y)
{
    if (x!=y) return ((x+y)/2);
    else return (x);
}

int main()
{
    int a = 4, b = 5, c = 6;
    printf("%d\n", fun(2*a, fun(b, c)));
}

如果将 int main() 函数写在 int fun 前面,程序无法编译,会报错。
但是,考试中,问答到主函数应该是可以在任意位置的,有大神可以解答吗?

#include <stdio.h>

int main()
{
    int a = 4, b = 5, c = 6;
    printf("%d\n", fun(2*a, fun(b, c)));
}

int fun(int x, int y)
{
    if (x!=y) return ((x+y)/2);
    else return (x);
}

程序出错。

 

...全文
3423 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
forever74 03-04
  • 打赏
  • 举报
回复

main函数的位置可以随意。因为正常程序里面不会有调用main函数的地方。
问题在于其他函数,写出来就是为了被调用的,那么被调用之前要么把它写出来,要么把它声明出来,这个不是很合理么?

所以楼主您关注的焦点有误,这个问题里您应该关注的是fun,而不是main

zara 02-16
  • 打赏
  • 举报
回复

函数预定义或说明/声明,告诉编译器函数需要的参数和返回值状况,以便编译器进行调用匹配核对;标准库函数的使用就是这个方式。如:
int fun(int x, int y); // fun() pre-declaration 注意末尾有语句结束标记字符即英文分号
int main()
{
// main() code here
}
int fun(int x, int y)
{
// fun() code here
}

69,512

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧