Bruce_N 2022-11-11 20:58 采纳率: 57.1%
浏览 20

C语言函数声明的问题

  程序中定义了一个函数,定义成void无返回值,在主函数中调用该函数会报错,需要在主函数前声明该函数才能调用,但是如果将该函数设置为有返回值,则不需要提前声明就可以在主函数中调用,这是什么原因呢?
int main(void)
{
    switch_test();
    return 0;
}

int switch_test()
{
    printf("test");
    return 10;
}

这样可以调用,没问题

int main(void)
{
    switch_test();
    return 0;
}

void switch_test()
{
    printf("test");
}

把返回值设置为void,提示"错误 C2371 “switch_test”: 重定义;不同的基类型 "

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-11-11 21:16
    关注

    main之前肯定还有函数申明啊,那里的返回值类型也要改成void

    评论

报告相同问题?

问题事件

  • 创建了问题 11月11日