我正在尝试创建一个简单的(模块化)C++ 程序,它读取用户输入并将其吐回。
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void _printOut(char * output)
{
cout << output << endl;
}
char * readUserInput()
{
char userInput[256];
cin >> userInput;
return userInput;
}
int _tmain(int argc, _TCHAR* argv[])
{
_printOut("Enter your name: ");
char * userName = readUserInput();
_printOut("Hello");
_printOut(userName);
system("pause");
return 0;
}
输入您的姓名:aaaa Hello ╠╠╠╠╠╠╠╠ 按任意键继续。. .
如果我在 readUserInput 函数中打印出 userInput 变量,它会打印出输入的内容。但是,尝试在 _tmain 函数中将 userInput 变量存储为 userName 会导致打印出难以理解的字符序列。IE。╠╠╠╠╠╠╠╠。根据我的最佳猜测,这可能是由指针问题引起的,但据我所知,我正确引用了所有内容。
调试此代码:在这一行: _printOut("Hello"); 在方法中:_tmain [userName = "abcdefg"] 在这一行:_printOut(userName); 在方法 _tmain [userName = "†UX"]
所以我想知道当用户名的值没有在两行之间分配或操作时,它的值是如何变化的。