看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
VictorTom:&&和||應該是logic oper不是bitwise oper吧@_@" 03/28 22:02
3q 我突然傻了 XD ※ 編輯: POSIX 來自: 140.117.176.163 (03/28 22:09)
VictorTom: XD 03/28 22:35
IwanTuRasS:感謝 上面兩位大大 03/28 23:59