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

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条)

报告相同问题?

悬赏问题

  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。