我想从c ++函数中获取输入并将其返回到main函数 ,我已经尝试过,但函数返回零,任何想法?
#include<iostream>
using namespace std;
int input( int x);
int main()
{
int number;
input(number);
cout<<number;
}
int input (int x)
{
cin>>x;
return x;
}
答案 0 :(得分:1)
您需要通过引用传递
void input (int & x)
{
cin>>x;
}
或使用返回值
int main()
{
int number;
number = input();
cout<<number;
}
int input ()
{
cin>>x;
return x;
}
答案 1 :(得分:0)
您可以更改自己的功能,使其通过引用x
:
void input (int& x)
{
cin>>x;
}
这样,您甚至不需要返回x,因为您的函数会在通过引用传递时更新其值。
答案 2 :(得分:0)
所以,让我们从开始就明白:
它是任何函数,它的所有变量都是临时的,只能在这个函数的作用域中访问,除非你使用指针或引用(仅限c ++)
因此,当您调用您的函数时会发生number
的副本创建到x
此外,函数的return语句用于...返回值!是的,很奇怪呃?
实际上,您甚至不需要向您的函数发送任何参数,只需获取结果:
#include<iostream>
using namespace std;
int input();
int main()
{
int number = input(); // Takes what the return statement gives
cout<<number;
}
int input ()
{
int x;
cin>>x;
return x;
}
以下是使用c ++参考的另一种方式:
#include<iostream>
using namespace std;
void input( int& x);
int main()
{
int number;
input(number);
cout<<number;
}
int input (int& x)//Takes number's address
{
cin>>x;
}