小编Edu*_*nho的帖子

为什么 sizeof(array) 返回的值是数组中索引的三倍?

我想在 for 循环中打印一个数组,但数组不仅打印随机数,而且还打印比数组边界多 3 倍的数字,这很奇怪,因为我使用的是 sizeof(A) 所以它只打印直到它的界限。你们知道为什么它打印的次数比代码中指定的次数多吗?

我尝试的代码如下:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
        int A[] = {1, 2, 4, 8, 16, 32, 64, 128};
        for (int i = 0; i < sizeof(A); i++) {
                cout << A[i] << endl;
        }
}

Run Code Online (Sandbox Code Playgroud)

输出如下:

1 2 4 8 16 32 64 128 14294328 0 14294384 11 14294320 0 794104558 32759 0 0 62 0 794128456 32759 0 0 0 0 0 0 0 0 0 …

c++ arrays for-loop sizeof

4
推荐指数
2
解决办法
208
查看次数

标签 统计

arrays ×1

c++ ×1

for-loop ×1

sizeof ×1