黑马程序员技术交流社区

标题: 请问下这段代码输出的结果是什么。。为什么,看不懂了 [打印本页]

作者: 我说你是个逗比    时间: 2014-9-5 21:28
标题: 请问下这段代码输出的结果是什么。。为什么,看不懂了
本帖最后由 ★彬★卍囧神 于 2014-9-6 22:17 编辑
  1.  #include <stdio.h>

  2.   int main(){

  3.   enum body

  4.   { a,b,c,d } month[31],j;

  5.   int i;

  6.   j=a;

  7.   for(i=1;i<=30;i++){

  8.   month=j;

  9.   j++;

  10.   if (j>d) j=a;

  11.   }

  12.   for(i=1;i<=30;i++){

  13.   switch(month)

  14.   {

  15.   case a:printf(" %2d %c\t",i,'a'); break;

  16.   case b:printf(" %2d %c\t",i,'b'); break;

  17.   case c:printf(" %2d %c\t",i,'c'); break;

  18.   case d:printf(" %2d %c\t",i,'d'); break;

  19.   default:break;

  20.   }

  21.   }

  22.   printf("\n");

  23.   }
复制代码



作者: 我说你是个逗比    时间: 2014-9-5 21:29
%2d是什么意思?
作者: 泥土知识    时间: 2014-9-5 21:32
好像是长度为2的整数
作者: 王绍明    时间: 2014-9-6 20:20
枚举的是吗
感觉乱
作者: ★彬★卍囧神    时间: 2014-9-6 22:05
能插入代码模式?这个怎么看啊
作者: ★彬★卍囧神    时间: 2014-9-6 22:13
输出结果:空两格1 c
作者: ★彬★卍囧神    时间: 2014-9-6 22:14
本帖最后由 ★彬★卍囧神 于 2014-9-6 22:51 编辑

输出结果:空两格1 d
空两格2 d
空两格 3 d
空两格4 d
...
空两格30 d
好像是这样子的
作者: ★彬★卍囧神    时间: 2014-9-6 22:48
 #include <stdio.h>

  int main(){


  enum body  {
               a,b,c,d
} ;
   // 定义枚举类型默认a=0这里,这里是不是一年又四季啊
       int month;

  int i,j;

  j=a;

  for(i=1;i<=30;i++){
// 循环30次
  month=j;

  j++;
// 过了3就将j清零
  if (j>d) j=a;

  }
// 运行到这里month=d  4*7+3
  for(i=1;i<=30;i++){

  switch(month)

  {
// %2d好像是空两个格子输出
  case a:printf(" %2d %c\t",i,'a'); break;

  case b:printf(" %2d %c\t",i,'b'); break;

  case c:printf(" %2d %c\t",i,'c'); break;

  case d:printf(" %2d %c\t",i,'d'); break;

  default:break;

  }

  }

  printf("\n");

  }


作者: 小月格子猫    时间: 2014-9-6 22:54
%nd,n表示输出的长度,不够则用空格在左边补齐
%0nd,n表示输出的长度,不够则用0在左边补齐
%-nd, n表示输出的长度,不够则用空格在右边补齐
好像是这样的





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2