请问c++中(int n;cin >> n;int m[n][n] = {0};)输出后数组m的值为什么不是0,如果是(int m[4][4] = {0})数组又是0了呢?

问题遇到的现象和发生背景

环境:windows
编辑器:Code Block

问题相关代码,请勿粘贴截图

img

img

运行结果及报错内容

img

img

我想要达到的结果

请问c++中(int n;cin >> n;int m[n][n] = {0};)输出后数组m的值为什么不是(0 0 0...)
,如果是(int m[4][4] = {0})数组又是(0 0 0...)了呢?

int m[n][n] 动态数组不能这么建立。。要用new