Re: [問題] 請求幫忙解釋C語言

看板PLT (程式語言與理論)作者 (clubfly)時間15年前 (2009/06/02 17:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《IwanTuRasS (阿姨)》之銘言: : 各位版大,小弟不才,初學C語言不久 : 下列這個程式是關於輸入年跟月來PRINT出月曆的程式 : 有些地方 (我用/**/包起來的地方 ) 看不太懂各位大大希望可以解釋看看 : 感激不盡(這個程式是可以編譯執行的 不是要大大幫我除BUG) : #include <stdio.h> 載入 stdio.h 標頭檔 : int main(int argc, char *argv[]) 宣告主程式進入點 後面是告訴程式 有兩個變數 1個 名字叫 argc 型態為 int 1個 名字叫 argv 為一字元陣列 : /*這邊後面宣告的是什麼意思 一定要這樣打嗎*/ 看程式的寫法 : { : 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); && 是邏輯符號 and 的意思 : /*這邊&&是什麼意思*/ : 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); : /*以下開始的回圈我就不是很懂了*/ : 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) 每7個換一次行 就是 1 2 3 4 5 6 7 8 9 ......... 15 ......... : { printf("\n"); : w = 0; : } : } : if (w) printf("\n"); : } : return 0; : } : 感謝各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.116.173
文章代碼(AID): #1A9ErKEX (PLT)
討論串 (同標題文章)
文章代碼(AID): #1A9ErKEX (PLT)