-2
這裏我的主要問題涉及printf()的使用和格式化說明符。我有一個包含100個元素的數組,其中大部分目前已初始化爲零。我想轉儲內容到屏幕上的格式,像這樣一個10×10塊:轉儲數組的內存內容
0 1 2 3 4 5 ...
0 +0000 +0000 +0000 +0000 +0000 +0000
1 +0000 +0000 ...
2 ...
3
...
隨着我當前的代碼,我的格式是有點過 -
0 1 2 3 4 5 6 7 8 9
+1103 +4309 +1234 +0000 +0000 +0000 +0000 +0000 +0000 +0000
0 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
1 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
2 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
3 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
4 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
5 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
6 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
7 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
8 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000
9
電流(相關)的代碼:
void dump (int *dumpMemory, int SIZE) {
int i = 0;
for (i; i < 10; ++i) { // Output 1-10 at top row of dump
printf("\t%d", i);
}
puts("");
for (i = 0; i < SIZE; i++) {
printf("\t%+05d", dumpMemory[i]);
if ((i % 10) == 9) {
printf("\n%d", (i/10));
}
}
puts("");
}
左側索引已向下移動一個點,因此在打印到屏幕時未正確表示其位置。
您希望模數爲9的條目之後的換行符不爲0。當循環未以列9條目結束時,您可能只需要額外換行符。然後在循環之後檢查模數0。 –
上面更新了輸出,改變了操作等於9.我有點困惑,爲什麼它然後將指數下移一個點。 –