【发布时间】:2017-06-30 12:56:35
【问题描述】:
我已经初始化了一个大小为 10 的数组,但在打印 sizof 数组时显示 40 。代码如下,
#include <iostream>
using namespace std;
int main() {
int arr[10] = {2,4,5,6,7,8,9,6,90};
printf("%d \n" , sizeof(arr));
}
输出:
/Users/venkat/Library/Caches/CLion2016.1/cmake/generated/InsertionSort-e101b03d/e101b03d/Debug/InsertionSort
40
Process finished with exit code 0
C 在这里打印 40 什么?
【问题讨论】:
-
使用
printf("%zu\n" , sizeof(arr) / sizeof(arr[0]);。%d用于int。 -
using namespace std;不是有效的标准 C 代码。