[英]garbage value in C array
我正在嘗試編寫一個 C 代碼,它將在屏幕上打印一個金字塔結構,就像這樣。
我寫的相應代碼是這樣的。
#include <stdio.h>
#include <stdlib.h>
void printArrayFunc(char arr[9][5]) {
int i, j;
printf("=========================================\nprinting the values\n");
for (i = 0; i < 5; i++) {
for (j = 0; j < 9; j++) {
//printf("arr[%d][%d] = %d\n", i,j, arr[i][j]);
if (arr[i][j] == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
int main() {
int i, j;
char arr[9][5] = {
0
};
printf("============================\nfilling the values\n");
for (i = 0; i < 5; i++) {
for (j = 4 - i; j <= 4 + i; j++) {
arr[i][j] = 1;
// printf("arr[%d][%d]= %d\n",i,j,arr[i][j]);
}
//printf("\n");
}
printArrayFunc(arr);
return 0;
}
它給出了類似的輸出
我知道我犯了一些愚蠢的錯誤,但此時此刻,我無法找到問題所在。 讓我聽聽您對此的評論。
在函數參數中:
char arr[9][5]
在循環:
for (i = 0; i<5; i++) {
for (j = 0; j<9;j++) {
if (arr[i][j] == 1)
你翻轉了i
和j
的位置。 i
應該從 0 到 9, j
從 0 到 5。
if (arr[i][j] == 1)
printf("*");
else
printf(" ");
if condition
為真,則此語句在此語句中給出垃圾值,然后打印 else 語句,當 else 為真時,它打印垃圾值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.