Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中使用来自另一个函数的变量?_C - Fatal编程技术网

如何在C中使用来自另一个函数的变量?

如何在C中使用来自另一个函数的变量?,c,C,我是C语言的新手,正在尝试在一个函数中使用另一个函数中的变量 我在中声明变量“grid”的函数是: int-startName(int-grid,int-winlen) { int失败=0; 如果(网格15){ 失败=1; 返回0; } if(winlengrid){ 失败=1; 返回0; } 如果(失败==0){ 返回1; } } 然后我想在第二个函数中使用这个变量网格。如何做到这一点?正确的方法是将grid变量声明为int指针,如下所示int*grid,在函数外部,然后通过引用将其传递给s

我是C语言的新手,正在尝试在一个函数中使用另一个函数中的变量

我在中声明变量“grid”的函数是:

int-startName(int-grid,int-winlen)
{
int失败=0;
如果(网格<4 | |网格>15){
失败=1;
返回0;
}
if(winlen<3 | | winlen>grid){
失败=1;
返回0;
}
如果(失败==0){
返回1;
}
}

然后我想在第二个函数中使用这个变量网格。如何做到这一点?

正确的方法是将grid变量声明为int指针,如下所示
int*grid,在函数外部,然后通过引用将其传递给startgame函数。不过,您必须初始化该变量。这样,当函数完成执行时,您在它上所做的一切都可以从外部访问。

您可能需要阅读一些有关的内容。

正确的方法是将grid变量声明为int指针,如下所示
int*grid,在函数外部,然后通过引用将其传递给startgame函数。不过,您必须初始化该变量。这样,当函数完成执行时,您在它上所做的一切都可以从外部访问。

你可能想读一些有关的东西。

基本上你不想。关于你想要实现的目标,需要更多的背景知识。也就是说,我认为我们看到的是一个函数,您不需要在另一个函数中使用参数
grid
。您可能需要使用
grid
的值。这取决于两个函数之间的关系。如果
startgame()
调用另一个函数,则只需将
grid
作为其参数之一传递即可。如果有第三个函数使用参数
a
b
调用
startgame()
,则使用参数
a
调用第二个函数。
a
的值被复制到参数
grid
startgame()
中,相同的值到达第二个函数的一个参数中。要获得有用的答案,请描述第二个函数。写下它的头(名称和参数)以及如何调用它和
startgame()
。基本上你不需要。关于你想要实现的目标,需要更多的背景知识。也就是说,我认为我们看到的是一个函数,您不需要在另一个函数中使用参数
grid
。您可能需要使用
grid
的值。这取决于两个函数之间的关系。如果
startgame()
调用另一个函数,则只需将
grid
作为其参数之一传递即可。如果有第三个函数使用参数
a
b
调用
startgame()
,则使用参数
a
调用第二个函数。
a
的值被复制到参数
grid
startgame()
中,相同的值到达第二个函数的一个参数中。要获得有用的答案,请描述第二个函数。写下它的标题(名称和参数)以及如何调用它和
startgame()
。在这个答案中,我错过了“来自此函数的变量”和“来自外部的参数”的澄清。考虑到“varaible”在这个函数中有它的源,这很可能是OP form看到通往目标的路径的原因。通过阅读指针上的信息,他肯定会看到通往目标的路径。他的例子中的网格变量仍然没有源代码,因为它是作为参数传递的。我知道。你知道的。我的建议是在你的答案中解释这一点,以一种让那些将参数描述为“来自此函数的变量”的人能够理解的方式。我不能在代码片段的Stackoverflow答案中讲述C语言是什么,首先是因为我无法做到这一点,其次,因为这并不能真正为OP指明解决问题的正确方向。我认为只要答案没有误导性,就没有理由骄傲。如果你认为在OPs层面上回答这个问题是“关于C语言是什么的讲座”,那么你应该要求更多的关注点(接近的原因)、更多的细节或清晰性(接近的原因)或更多的上下文,例如MRE形状(可以被视为接近的原因)。一些用户这样做了,并结束了这个问题。你没有回答,而是回答了,这使你处于唯一一个可以在这里回答的人的特权地位。请不要退缩,说这个问题现在无法得到有益的回答。在这个回答中,我错过了“来自此函数的变量”与“来自外部的参数”之间的混淆。考虑到“varaible”在这个函数中有它的源,这很可能是OP form看到通往目标的路径的原因。通过阅读指针上的信息,他肯定会看到通往目标的路径。他的例子中的网格变量仍然没有源代码,因为它是作为参数传递的。我知道。你知道的。我的建议是在你的答案中解释这一点,以一种让那些将参数描述为“来自此函数的变量”的人能够理解的方式。我不能在代码片段的Stackoverflow答案中讲述C语言是什么,首先是因为我无法做到这一点,其次,因为这并不能真正为OP指明解决问题的正确方向。我认为只要答案没有误导性,就没有理由骄傲。如果你认为在OPs层面上回答这个问题是“关于C语言是什么的讲座”,那么你应该要求更多的关注点(接近的原因)、更多的细节或清晰性(接近的原因)或更多的上下文,例如MRE形状(可以被视为接近的原因)。一些用户这样做了,并结束了这个问题。你没有回答,而是回答了,这使你处于唯一一个可以在这里回答的人的特权地位。请不要退却
int startgame(int grid, int winlen)
{
  int failed = 0;
    if (grid < 4 || grid > 15){
    failed = 1;
    return 0;
  }
  if (winlen < 3 || winlen > grid){
    failed = 1;
    return 0;
  }
  if (failed == 0){
    return 1;
  }
}