首页 > 解决方案 > 在 c 编程中为第二个函数添加原型

问题描述

我有两个互相调用的函数。这本书(p147, All of Programming, Andrew Hilton, Anne Bracy)说我们需要在第一个函数之前为第二个函数编写原型,让编译器知道第二个函数的存在。我的问题是,当我们调用文件底部的isOddand isEvenin时,编译器是否已经知道,编译器是否从头到尾读取文件?mainisOddisEven

int isOdd(unsigned int n); // do we need this and why?

int isEven(unsigned int n) {
   // return whether the input is even
   // call isOdd
}

int isOdd(unsigned int n) {
  // return whether the input is odd
  // call isEven
}

int main(void) {
  // call isOdd and isEven
}

标签: c

解决方案


你只需要它,因为isEven调用isOdd. 在代码中,编译器需要知道是什么isOdd。如果只main调用isOdd,那么您将不需要顶部的声明。


推荐阅读