如何将输入从c ++函数传递给main函数

时间:2016-10-29 19:29:44

标签: c++ function input

我想从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;
}

3 个答案:

答案 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;
}