什么输入是8,输出却是32?

#include <iostream>
using namespace std;
int main()
{
    int N;
    cin>>N;
    int a[N];
    cout<<sizeof(a);
}

这个和编译器有关,sizeof(数组)=数组长度xsizeof(元素)
你的编译器int是4字节(有的编译器是2,比如turbo c++),有的是8。

因为一个int占用4个字节,数组长度为8,sizeof自然输出32