#include <stdio.h>
int main()
{
int m[][3] = { 1,2,3,4,5,6,7,8,9 };
int i, j = 2;
for (i = 0; i < 3; i++)
printf("%d", m[j][i]);
return 0;
}
{
int m[][3] = { 1,2,3,4,5,6,7,8,9 };
int i, j = 2;
for (i = 0; i < 3; i++);
printf("%d", m[j][i]);
return 0;
}
你在for循环后面加分号只会使得i的值增加,当i = 3时就退出循环,再执行输出m[j][i] = m[2][3]越界了,自然结果不同,一般初学者喜欢犯这种错误
这个可能是编译器的问题,不是我们的问题。