Hold_C 2017-05-30 15:41 采纳率: 20%
浏览 1287
已采纳

C语言主调函数与被调函数 奇怪 现象

此程序我在DEV-C++和Cfree5上运行,均无误,但是,若将test函数返回值改为void
则在DEV-C++上出现Warning,但是能运行出想要的结果,在Cfree5上会出现error
,但是之前学习的C的书中都说,被调函数置于主调函数之后,是违法的,但是为什么
test函数返回值为int可以无error呢?

 # include<stdio.h>
int main()
{
    test();
} 
int  test()
{
    printf("this is a test!\n");
    return 0;
}
  • 写回答

5条回答 默认 最新

  • qq_36459106 2017-05-31 04:59
    关注

    应该是编译器不标准造成的,一般严格来说无论有没有返回值,被调用的函数如果写到主函数后面后要加函数声明的~否则就会报错!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 SDO如何更改STM32的波特率
  • ¥15 elasticsearch
  • ¥15 uniapp的uni-datetime-picker组件在ios端不适配
  • ¥15 前端 uniapp App端在离线状态如何使用modbus 连接手机蓝牙进行读写操控机器?
  • ¥15 SQL语句根据字段自动生成行
  • ¥500 “掌声响起来”软件(不确定性人工智能)
  • ¥500 我要找大模型一体机产品手册和应用案例
  • ¥20 关于游戏c++语言代码问题
  • ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)
  • ¥15 delphi indy cookie 有效期