返回字符串到主函数C 的功能

Function that returns string to main function C++

本文关键字:功能 函数 字符串 返回      更新时间:2023-10-16

im新手C 。

我想获得一个带有std :: cin的字符串,然后将其称为主,并用std :: cout。

打印出来。

我已经尝试了几件事,但对我不起作用。我尝试的最后一个方法是:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;    
string person(string personname)
{
    std::cin >> personname;
    return personname;
}
int main()
{
    std::cout << person();    
}

您正在调用不存在的函数。您提供的功能是

  string person(string name);

但是您要调用的功能是person(),它没有任何可用的定义。您可以做的是删除函数person中的参数。

string person(){ 
   string name; 
   cin >> name; 
   return name;
}

现在,当您在main()中调用它时,它将起作用

int main(){
    cout<<person()<<endl;
    return 0;
}

personname应该是人函数中的局部变量,而不是参数,因为您不会将任何值传递给主函数中的person。此代码有效:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string person(){
  string personname;
  std::cin >> personname;
  return personname;
}
int main(){
  std::cout << person();
}

我的第一个建议是通过C 中的价值,指针和参考来了解有关的通行证,那么一切都将为您清楚。现在尝试以下: -

#include <iostream>
#include <fstream>
#include <string>
using namespace std;    
void person(string &personname)
{
    std::cin >> personname;
}
int main()
{
    string name;
    person(name);
    std::cout << name;   
}

字符串如果要从用户获取字符串,则无法使用loops或使用一些预定义的功能,例如" get(("。实际上,您编写的作品的代码!但是您必须首先声明您的字符串,该字符串已名为" Personname"。没有声明您的代码毫无意义这是您应该使用的代码警告:此代码不会在空间后返回您编写的任何内容。

#include <iostream>
#include <conio.h>
#include <string>
using namespace std;    
string personname ;
string person(){
      cin >> personname;
      return personname;
}
main(){
cout << person();    
getch();
}

#include <iostream>
#include <fstream>
#include <string>
using namespace std;    
string person()
{
    string personname;
    std::cin >> personname;
    return personname;
}
int main()
{
    std::cout << person();    
}

该变量未在该函数中声明,您还通过传递了调用它时未发送的参数来创建函数。

相关文章: