为什么要为变量赋值?将int x,y分配给ReadNumber()有什么意义?它是否用于存储变量中函数的返回值?或者这只是传递参数的一种方式?
#include <iostream>
int ReadNumber()
{
using namespace std;
cout << "Enter a number: ";
int x;
cin >> x;
return x;
}
void WriteAnswer(int x)
{
using namespace std;
cout << "The answer is " << x << endl;
}
int main()
{
int x = ReadNumber();
int y = ReadNumber();
WriteAnswer(x+y);
return 0;
}
答案 0 :(得分:3)
他没有。这(注意括号):
// vv
int x = ReadNumber();
将返回的值分配给x
。括号表示实际调用函数 - 或执行正文。该函数最后有return x;
,因此它返回x
的值,该值分配给x
- 主要的值。请注意,x
中的main
和x
中的ReadNumber
完全不同。
另外,你不能将函数赋值给C++
中的变量(你可以使用函数指针,但这是另一回事)
ReadNumber
返回的值是临时值,应存储在某处。因此,这就是为x
定义y
和main
的原因,以便每个ReadNumber
存储从main
返回的值。每个值都可以不同。
如果在x
中没有y
和()
,则返回的值无法使用,根本无法访问。他们被摧毁了。
这里没有任何争论。参数写在括号内(ReadNumber
),这里,调用WriteAnswer
时没有。所以是的,它们用于存储返回的值。
return
在和处没有void
,并且它被定义为int x = WriteNumber( X + y )
- 这意味着 - 没有返回值。这就是为什么没有这样的事情
WriteNumber
但请注意,这里x + y
有争论。只有一个,它是计算出的int z = x + y;
WriteNumber( x );
的值。所以,就像:
{{1}}
答案 1 :(得分:2)
是的,它存储了函数的返回值。
代码首先调用ReadNumber函数两次。 ReadNumber从控制台读取一个字符串,然后将其作为int返回。代码存储两个函数返回。然后它将这两个数字相加并将其作为参数传递给WriteAnswer函数。 WriterAnswer函数获取传入的参数并将其打印出来。
答案 2 :(得分:0)
int x = ReadNumber();
通过这个语句,程序员想要将该函数的返回值赋给变量。如果检查函数签名,则可以看到它返回类型int
的值。
答案 3 :(得分:0)
ReadNumber()
从标准输入中读取一个数字并将其返回。
int x = ReadNumber();
将该值存储到x
。
答案 4 :(得分:0)
他没有分配函数/方法本身,而是分配结果......
他将方法的两个连续调用的结果:ReadNumber()分别分配给变量x和y。
因此,ReadNumber()的返回值是指定的值。
请参阅ReadNumber()的返回类型是int - 与要分配的变量的类型相同。
我评论了下面的方法,以便更清楚:
int ReadNumber()
{
using namespace std;
cout << "Enter a number: "; // This line prints the command to the standard output
int x;
cin >> x; // This line reads a number and assigns it to x
return x; // This line returns the number and ends the method...
}
答案 5 :(得分:0)
实际上该功能未分配给变量
每次调用ReadNumber()
时会发生什么,它会返回一些类型int
。这个数字可以在任何地方使用,例如放入x
之类的变量,我们可以再次调用它并将下一个值分配给另一个变量,如y
答案 6 :(得分:0)
ReadNumber()的结果被分配给x - 而不是相反。 ReadNumber()向用户询问一个数字并将其分配给x,然后分配给另一个数字并将其分配给y。然后main()将它们添加到一起并使用WriteAnswer()显示用户。