上官洛栖 发表于 2020-3-16 18:16:14

C语言求助

void lunar_calendar()
    {
      FILE* fp = fopen("1.txt", "a+");
      const char* ChDay[] = { "*","初一","初二","初三","初四","初五",
                               "初六","初七","初八","初九","初十",
                               "十一","十二","十三","十四","十五",
                               "十六","十七","十八","十九","二十",
                               "廿一","廿二","廿三","廿四","廿五",
                               "廿六","廿七","廿八","廿九","三十"
      };
      const char* ChMonth[] = { "*","正","二","三","四","五","六","七","八","九","十","十一","腊" };
      struct tm* Local;
      long t;
      int year, month, day;
      char str = "";
#if 0
      t = time(NULL);
      Local = localtime(&t);
      year = Local->tm_year + 1900;
      month = Local->tm_mon + 1;
      day = Local->tm_mday;
#else
      year = 2013;
      month = 2;
      day = 10;
      printf("请输入所查日历的年月(eg:2000 02 28):");
      scanf("%d %d %d", &year, &month, &day);
      if (year > 2040 || year < 1940)
      {   
            printf("查询范围为1940年到2040年");
            fprintf(fp,"查询范围为1940年到2040年");
      }
      fprintf(fp,"查询%d年%d月%d日的农历日期", year, month, day);
#endif
      printf("%d年%d月%d日\t", year, month, day);
      fprintf(fp,"%d年%d月%d日\t", year, month, day);
      if (LunarCalendar(year, month, day))
      {
            strcat(str, "闰");
            strcat(str, ChMonth[(LunarCalendarDay & 0x3C0) >> 6]);
      }
      else
      {
            strcat(str, ChMonth[(LunarCalendarDay & 0x3C0) >> 6]);
            strcat(str, "月");
            strcat(str, ChDay);
            puts(str);
            getchar();
      }
      fclose(fp);
      main();
    }
这是代码中的一小段,想知道#if、#elseif和#endif是什么意思和什么关系

qiuyouzhi 发表于 2020-3-16 18:21:09

条件编译,http://c.biancheng.net/view/289.html

上官洛栖 发表于 2020-3-16 20:49:12

本帖最后由 上官洛栖 于 2020-3-16 20:50 编辑

qiuyouzhi 发表于 2020-3-16 18:21
条件编译,http://c.biancheng.net/view/289.html

如果#if、#elseif都没有被执行,#endif就会跳出程序对吧!
页: [1]
查看完整版本: C语言求助