标题:一个小问题,一条语句的位置问题。
只看楼主
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
结帖率:87.5%
已结贴  问题点数:10 回复次数:3 
一个小问题,一条语句的位置问题。
#include <stdio.h>
void main()
{int x,y,z,n,i;     
 printf("please enter year,month,day:");
 scanf("%d.%d.%d",&x,&y,&z);
 n=(y-1)*30+z+i;   /*<1>*/
 switch(y)
{  case 1:
   case 2:
   case 3: i=0;break;
   case 4:
   case 5: i=1;break;
   case 6:
   case 7: i=2;break;
   case 8: i=3;break;
   case 9:
   case 10:
   case 11:
   case 12: i=4;break;
 }
 n=(y-1)*30+z+i;       /*<2>/
 if((x%4==0&&x%100!=0)||x%400==0)
 {  n--;
    printf("This year is a leap year,");
 }
 else printf("This year is not is leap year,");
 n=(y-1)*30+z+i;    /*<3>*/
 printf("Thday is the %drd day this year\n",n);
}
   
 程序中有三处用 n=(y-1)*30+z+i;,请问放哪是对的,为什么?
搜索更多相关主题的帖子: include void please 
2012-08-30 18:56
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
得分:10 
楼主你自己看看嘛
有"n="的话肯定是要放在使用n的前面咯,n没有初始化,肯定要放在n--前面
然后你的i没有初始化,而n=那句使用了i,唯一给i赋值的地方只有switch语句,所以肯定不能放在switch前面
楼主你说应该放在那儿?
2012-08-30 22:27
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
得分:0 
<2>
2012-08-30 22:44
zhangqi_gsts
Rank: 6Rank: 6
来 自:甘肃天水
等 级:侠之大者
威 望:1
帖 子:227
专家分:457
注 册:2011-3-27
得分:0 
顶起
2012-08-31 00:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-380386-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.323397 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved