【问题标题】:How do i go from one function (main) to another without finishing main?(in C)我如何在不完成 main 的情况下从一个函数(main)转到另一个函数?(在 C 中)
【发布时间】:2013-08-09 00:32:03
【问题描述】:

我是 C 的初学者,有一个问题我似乎无法解决。例如,我想从 main() 转到另一个带有一两行代码的函数。我在互联网上搜索过,没有人回答这个特定的问题,或者在我的业余爱好者看来是这样。例如,我想这样做:

int main(void){
/*here i need a line of code that will make the program run FunctionToCall*/

}
int FunctiontoCall(void){
printf ("you went to this function! congratulations!\n");

}

希望对不清楚的问题有所帮助!

【问题讨论】:

  • 请详细说明您的问题
  • 邮政编码给我们详细信息。
  • 你能调用其他函数吗?
  • 在定义 main() 之前给出它的原型,然后你就可以调用你的函数,你会得到什么错误和警告
  • @AlexFarber: void main() 不正确(可能对于某些嵌入式系统除外)。正确的定义是int main(void)。如果您有一本书或教程告诉您使用void main(),请获得更好的;它是由不太了解 C 语言的人编写的。

标签: c function main


【解决方案1】:

只要调用你想去的函数。

例如:

void functionToCall(int x, int y, int z);

int main() {
   //some code...
   functionToCall(x, y, z);
   //more code...
}

void functionToCall(int x, int y, int z) {
   //more code...
}

【讨论】:

  • function(x,y,z); 无效 C;缺少类型。不要将初学者与草率的 sn-ps 混淆......
  • 是的,返回类型和参数类型都不见了。
  • 我知道。类型是任意的。我只是将它们放入以提供参数示例。我不想添加类型以避免混淆。
  • @PaulGriffiths: functionToCall(x, y, z) { /* code ... */ } 是(前 ANSI)K&R C 中的有效函数定义;参数和函数结果隐含的类型为int
  • 更简单的解决方案是将functionToCall的定义放在main的定义之上;那么就不需要单独声明了。
【解决方案2】:

我认为这将帮助您了解方法调用的工作原理

因此,当您从方法 y 调用方法 x 时,控制从 x 传递给 y,并在遇到被调用方法的 return 语句/最后一条语句时返回到 x

【讨论】:

  • @user2651382 你使用什么操作系统/任何IDE??如果您在 Windows 上工作,控制台会出现吗??
  • 如果您要在答案中包含代码,请将其复制并粘贴为格式化文本。您的屏幕截图很难阅读。
  • @KeithThompson 肯定会从现在开始检查它:)
猜你喜欢
  • 2014-08-11
  • 2016-07-14
  • 2021-08-19
  • 1970-01-01
  • 2015-05-12
  • 2011-11-14
  • 2012-02-01
  • 1970-01-01
  • 2011-01-16
相关资源
最近更新 更多