【发布时间】:2013-04-19 14:02:13
【问题描述】:
我一直遇到这个问题:当我尝试打印一个带有 2 个 for 循环的数组时,没有任何反应,屏幕空白。当我在循环之前添加printf(任何类似printf("1");)时,循环打印会在执行中显示。
代码:
for(j=0;j<i;j++){
printf("\n");
for(k=0;k<i;k++){
printf("%6d",*(polje+j*i+k));
}
}
程序不仅不打印循环,而且如果我不在循环外使用另一个printf,x.exe 就会停止工作。
【问题讨论】:
-
主要与缓冲输出有关。在 printf 中添加 \n 可以解决问题。还有其他方法可以强制无缓冲标准输出。
-
在您输出换行符之前,内部循环中的打印可能不会出现。通常,您将换行符放在内部循环之后:
for (int j = 0; j < i; j++) { for (int k = 0; k < i; k++) printf("%6d", polje[i*j+k]); putchar('\n'); }。