gpt4 book ai didi

c - 简单的嵌套 for 循环在 C 中无法正常工作(二维数组初始化)

转载 作者:行者123 更新时间:2023-11-30 18:17:30 24 4
gpt4 key购买 nike

我不明白为什么这个简单的代码有这种奇怪的行为。

`代码:

  int main(){

int m[10][10];
int i=0;
int j=0;
for (i;i<10;i++) {

for (j;j<10;j++) {
m[i][j]=i+j;
printf("%d ", m[i][j]);
}
printf("\n");
}
printf("%d ", m[4][3]);
}

`

我期待类似矩阵的输出,但输出是这样的:

0 1 2 3 4 5 6 7 8 9

32678

注意,程序在32678之前打印了9个空行(m[4][3]的打印值,显然应该是7)。感谢您抽出时间。

最佳答案

   for (i;i<10;i++)
{
for (j;j<10;j++)

在这两个循环中,将ij初始化为0。你将得到类似矩阵的输出。请参阅此处的工作程序 - https://ideone.com/cm3vV9

这样声明

 for (i=0;i<10;i++)
{
for (j=0;j<10;j++)

您在值之间得到 9 行,因为 printf("\n"); 在循环内运行 9 时间,然后运行 ​​ 的值>m[4][3] 被打印(这当然不是它的值,它只是抛出一些随机值)。

关于c - 简单的嵌套 for 循环在 C 中无法正常工作(二维数组初始化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31510872/

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