我对 C++ 很陌生(只是 Java 的背景不太好),并且对如何打印 char 数组的全部内容感到困惑。我相信我需要使用循环,并将循环基于数组的长度,但我的编译尝试没有成功。这就是我现在所拥有的。在此先感谢您的帮助!
#include <iostream>
#include <string>
using namespace std;
void namePrinting(char name[])
{
int i = 0;
cout << "Name: ";
while(i <= name.length() )
{
cout << name[i];
i++;
}
}
int main()
{
string fullName;
cout << "Enter name: ";
cin >> fullName;
char nameArray[fullName.length()];
namePrinting(nameArray);
}
从简单的事情开始:
char c_array[3];
c_array[0] = 'a';
c_array[1] = 'b';
c_array[2] = 'c';
for(int i=0 ; i<3 ; ++i)
{
cout << c_array[i];
}
cout << endl;
在您完全理解这一点之前,请不要继续下去。现在请注意,如果您以空终止数组,则可以将整个数组传递给cout
, and operator<<
会知道何时停止:
char c_array[4];
c_array[0] = 'a';
c_array[1] = 'b';
c_array[2] = 'c';
c_array[3] = 0;
cout << c_array << endl;
对于大多数其他类型的数组,您无法做到这一点。现在请注意,您可以分配一个char[]
这样,它将以空终止:
char c_array[20] = "abc";
cout << c_array << endl;
您甚至可以省略数组的大小,编译器将推断它:
char c_array[] = "abc"; // this is a char[4];
cout << c_array << endl;
有几种不同的方法可以将用户输入读取到数组中,但听起来好像您已经知道了,而且这个答案越来越长。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)