看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《asdf12345 (==)》之銘言: : 小弟最近使用Dev-C++寫一個陣列程式 : 是有關利用二維陣列寫出月曆。 : 這是小弟編寫的程式碼: : #include<stdio.h> : #include<stdlib.h> : #define row 5 : #define col 7 : int main() : { : int a[row][col]={00,00,1,2,3,4,5, : 6,7,8,9,10,11,12, : 13,14,15,16,17,18,19, : 20,21,22,23,2,4,25,26, : 27,28,29,30,31,00,00}; 這是一維陣列的寫法吧 二維陣列應該是 int a[row][col]={{0,0,1,2,3,4,5}, {6,7,8,9,10,11,12}, {13,14,15,16,17,18,19}, {20,21,22,23,24,25,26}, {27,28,29,30,31,0,0}}; 對了 0就寫成0 為什麼要寫成00?? 你現在宣告的是數字並不是字串 零就是0 不是00 : int i,j; : if(a[i][j]= = 00) i跟j沒給初始值 你的a[i][j]到底是第幾行第幾列? 會到哪裡去? 另外 == 就是 == 是一整個operator 拆成= =是不允許的 我也只能給你個 = =... 依然 0就是0 為什麼要寫成00... : { : printf(" "); : }else("%3d"a[i][j]); 應該是: else printf("%3d", a[i][j]); 吧... 沒有printf也沒有逗號...囧 : printf(" "); : printf("\n "); : system("pause"); 話說你如果要印出日曆 不是應該用個巢狀for迴圈把if else判斷式包起來嗎?? 這樣程式只會印出一個日期而已 而且還找不到印出的數字 因為你的i,j沒給初始值 : return 0; : } : 結果執行程式跑不停......= =!! : 能請各大大幫我看看拿裡出了問題? : 感謝唷!!! 寫程式是該細心一點 加油 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.220.224
sunneo:不過碰巧的是00是八進位0 .跟0x0 , 0是一樣的效果 11/27 02:30