在 C++ 中将二维数组值初始化为'0'时出错,给出垃圾值



以下是代码,我逐一尝试了评论中提到的所有其他样式,但都没有成功删除垃圾值,虽然"jugaad"有效,但性能不好。搞不清楚怎么了!

#include <bits/stdc++.h>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
//    Other styles
//    int data[n+1][m+1] = {0,0};
//    int data[n+1][m+1] = {0};
//    int data[n+1][m+1] = {{0,0}};
int data[n][m] = {0};
//    Jugaad start:
for(int i=0;i<m;i++){
data[0][i] = 0;
}
// Jugaad end
cout<<"n";
for(int x=0;x<n;x++){
for(int y=0;y<m;y++){
cout<<data[x][y]<<"t";
}
cout<<"n";
}
cout<<"n";
return 0;
}    

代码和输出屏幕截图

for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
data[i][j] = 0;
}
``}

这将把数组的所有值设置为零

最新更新