gpt4 book ai didi

c - 打印矩阵值

转载 作者:行者123 更新时间:2023-11-30 14:46:44 25 4
gpt4 key购买 nike

我不明白我的程序的某些内容。代码如下:

  #include <stdio.h>

int main(){

int t[2][5], i, j;

t[1][0]=2;
t[1][1]=3;
t[1][2]=4;
t[1][3]=5;
t[1][4]=6;

t[0][2]=7;
t[1][2]=8;

for(i=0; i<2; i++){
for(j=0; j<5; j++){
printf("%d ", t[i][j]);
}
printf("\n");
}

for(i=0; i<2; i++){
t[0][i]=0;
}

for(i=0; i<2; i++){
for(j=0; j<5; j++){
printf("%d ", t[i][j]);
}
printf("\n");
}


return 0;
}

它给了我这个输出:

0 0 7 0 4196128 
2 3 8 5 6
0 0 7 0 4196128
2 3 8 5 6

我不明白为什么会弹出 4196128。请解释一下。

我认为这与编译器有关。

最佳答案

不,它与单位化值及其用法有关。

对于数组t[0],您从未初始化过t[0][2]之外的任何元素。因此,其他元素的值仍然是“不确定的”。

现在,元素

  • 有一个可以具有陷阱表示的类型
  • 他们的地址从未被盗

因此,尝试使用任何具有不确定值的元素的值将是 undefined behaviour .

关于c - 打印矩阵值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com