在函数声明之后声明整数有什么用?

  • 本文关键字:声明 整数 函数 之后 c++
  • 更新时间 :
  • 英文 :


我正在尝试通过在线课程按照自己的节奏学习C++。有一个函数声明,之后还有一个整数声明,即 q。

我不明白"q"在代码中有什么用途。

我试图打印出每个步骤,但没有意义。我真的看不出在foo函数中使用"q"的意义或它的作用。

#include<stdio.h>

int foo (int q) {
int x = 1;
return (q + x);
}
int main (){
int x = 0;
while (x < 3) {
printf ("%in", x);
x = x + foo(x);
}
}

这段代码给了我 0 1 似乎"q"正在递增 x,但我看不出原因,因为我们没有将其分配给任何东西,而只是说 (int q(

在您发布的代码中,q是函数foo的参数,foo将返回其参数的值 (q( +1。

这是一个通过值函数调用的调用,其中 foo(( 通过将值传递给 q 变量来获取调用。 如果你没有在函数中声明任何参数,它将给出一个错误,因为它是 int q 只是为了从 main 函数中获取值。 所以在这里,当第一次 foo 接到调用时 - 它是返回 1,之后它是返回 2 . 所以第二次 x=1+2=3 3>3 条件为假。 它只打印0,1。

q

是一个参数。也就是说,它是函数中接受来自调用方的值的东西。正如w3schools所说:

信息可以作为参数传递给函数。参数充当函数内的变量。

参数在函数名称之后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可:

我自己可能再解释不过了。

这段代码给了我 0 1 似乎"q"正在递增 x,但我看不出原因,因为我们没有将其分配给任何东西,而只是说 (int q(

啊,所以,我们确实把它分配给了一些东西。它可能只是不明显。当我们打电话给foo时,我们做到了:

x = x + foo(x);

在这里,通过将x放在括号之间,我们将q设置为x的值(在本例中似乎是0(。这意味着,q在函数调用中将具有x(0(的值。

我们也可以将其设置为其他内容,例如3

x = x + foo(3);

在这里,q设置为3,因为3在括号内。

int foo (int q)

声明一个采用输入参数Q的函数。在 foo 中,q取的值取决于传递给它的值。在这种情况下,当您调用它时:

foo(x)

你声明:在foo中运行代码,但在输入函数时将 main(( 中的x值提供给q。当你开始编程时,起初,这是误导性的,因为qx似乎是不同的变量。你会习惯的。

你还必须意识到,foo中的x与main中的x无关。这些是不同的变量。

感谢您的所有回答和评论。

似乎 q 是传入的参数,而 x 只是用来表示整数(冗余(。

如果代码只使用整数 1 作为,那就更好了:

int foo (int q) {
return (q + 1);

最新更新