Re: [問題]請教版上大大幫我看看我的問題

看板C_and_CPP (C/C++)作者 (tedium of chores)時間17年前 (2009/03/28 21:42), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《IwanTuRasS (阿姨)》之銘言: : 各位版大晚安,小弟不才,初學C語言不久 : 下列這個程式是關於輸入年跟月來PRINT出月曆的程式 : 有些地方 (我用/**/包起來的地方 ) 看不太懂各位大大希望可以解釋看看 : 感激不盡(這個程式是可以編譯執行的 不是要大大幫我除BUG) : #include <stdio.h> : int main(int argc, char *argv[]) : /*這邊後面宣告的是什麼意思 一定要這樣打嗎*/ 參考command-line arguments 書上沒有的話 網路上應該也查的到資料 : { : int i, j, l, y, m, d, w; : int b[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; : printf("請輸入年/月:"); : scanf("%d/%d", &j,&k); : y = j; : l = (y%4==0) && (y%100!=0) || (y%400==0); : /*這邊&&是什麼意思*/ 這個叫做logical operation 書上一定會有 : y =y+y/4-y/100+y/400; : for (m=k; m<k+1; m=m+1) : { : printf("\n%d年%4d月\n 日 一 二 三 四 五 六\n", j, m); : /*以下開始的回圈我就不是很懂了*/ 下面你不懂的地方有兩個 1. for loop 2. if else 請參考control flow章節 這書上也一定會有 裡面比較要注意的是 i) 大括號{} 的使用,與不使用的時機 ii) 還有nested structure : for (w=y, i=0; i<m; i++) : w=w+ b[i]; : if (l && m<3) w=w-1; : w %= 7; : if (w) printf("%*s", w*3, " "); : /*這邊超級不懂 */ : for (i=1; i<=b[m]; i++) : { printf("%3d", i); : if (++w == 7) : { printf("\n"); : w = 0; : } : } : if (w) printf("\n"); : } : return 0; : } : 感謝各位了 加油!! -- Potable Operating System Interface -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.176.163

03/28 22:02, , 1F
&&和||應該是logic oper不是bitwise oper吧@_@"
03/28 22:02, 1F
3q 我突然傻了 XD ※ 編輯: POSIX 來自: 140.117.176.163 (03/28 22:09)

03/28 22:35, , 2F
XD
03/28 22:35, 2F

03/28 23:59, , 3F
感謝 上面兩位大大
03/28 23:59, 3F
文章代碼(AID): #19pYavwZ (C_and_CPP)
文章代碼(AID): #19pYavwZ (C_and_CPP)