Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从控制台创建具有值的数组_C++_Arrays - Fatal编程技术网

C++ 从控制台创建具有值的数组

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+

我试图通过从控制台获取值“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++){
       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];
}