作者POSIX (tedium of chores)
看板C_and_CPP
标题Re: [问题]请教版上大大帮我看看我的问题
时间Sat Mar 28 21:42:14 2009
※ 引述《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
1F:推 VictorTom:&&和||应该是logic oper不是bitwise oper吧@_@" 03/28 22:02
3q 我突然傻了 XD
※ 编辑: POSIX 来自: 140.117.176.163 (03/28 22:09)
2F:推 VictorTom: XD 03/28 22:35
3F:推 IwanTuRasS:感谢 上面两位大大 03/28 23:59