C++ 从控制台创建具有值的数组
我试图通过从控制台获取值“n”来创建一个数组,并使用“n”inits创建一个数组,然后再次获取值“r”来工作 到目前为止我写了C++ 从控制台创建具有值的数组,c++,arrays,C++,Arrays,我试图通过从控制台获取值“n”来创建一个数组,并使用“n”inits创建一个数组,然后再次获取值“r”来工作 到目前为止我写了 int main(){ int n = 0; cin >> n; int* a = new int[n]; for(int i = 0; i< sizeof(a);i++){ cin >> a[i]; } for(int y = 0; y < sizeof(a);y+
int main(){
int n = 0;
cin >> n;
int* a = new int[n];
for(int i = 0; i< sizeof(a);i++){
cin >> a[i];
}
for(int y = 0; y < sizeof(a);y++){
cout << a[y] << " ";
}
int r = 0;
cin >> r;
rotate(a,r);
你知道为什么最后会出现这些无法解释的数字吗?正如阿尔及达斯所说,仔细看看SizeOf是做什么的。而且,你并不真的需要它。你可以让它像这样工作:
for(int i = 0; i< n; i++){
cin >> a[i];
}
for(int i=0;i>a[i];
}
因为数组中有'n'个元素
另外,我知道大多数教科书都很喜欢数组,但请遵循Cody Gray的建议 标记的[c++]==>对动态数组使用
std::vector
。sizeof
并不像您想象的那样。它返回变量/类型的大小(以字节为单位)。在您的示例中,32位构建中为4,64位构建中为8。
for(int i = 0; i< n; i++){
cin >> a[i];
}