| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:新手C语言学习的练习和疑问--if语句条件应用时遇到的问题
取消只看楼主 加入收藏
Redlass
Rank: 2
等 级:论坛游民
帖 子:20
专家分:29
注 册:2011-6-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
新手C语言学习的练习和疑问--if语句条件应用时遇到的问题


     这是一个判断是否为闰年的程序,疑问部分用已在代码中注出。
     新手学习,问题多多,折腾了好久,还有一个东西弄不明白。
     肯请大家帮帮忙哈,
程序代码:
#include <stdio.h>

//实现是否为闰年的判断
void leapyear(int a)
  {
  if(a%400 == 0 || a%4 == 0 && a%100 != 0)
    {
      printf("%d 年是闰年!\n",a);
    }
  else
    {
     printf("%d 年不是闰年!\n",a);
     }
} 

//通过用户选择,实现程序循环运行
void choice()
{
   printf("是否继续计算?N/Y:\n");
   getchar();
   if(getchar() == 'y' || getchar() == 'Y')  /*经过测试,这里只能输入小写Y,
                                            如果是大写Y,则不能调用主函数。
                                            为什么?*/
     {
       main();
      }
    }


//好骨感的主函数。。。
int main()
{
  int y = 0;
  printf("请输入年份: \n");
  scanf("%d",&y);
  leapyear(y);
  choice();
  return 0;
}



搜索更多相关主题的帖子: C语言 
2011-06-24 18:04
Redlass
Rank: 2
等 级:论坛游民
帖 子:20
专家分:29
注 册:2011-6-24
收藏
得分:0 
回复 3楼 ansic
这个程序是可以运行并计算是否闰年的。
输入'y'时,main函数被成功调用了,但是输入‘Y’时就不能调用。而检测输入字符的if语句条件为‘y’或‘Y’。为什么会出现一个能调用一个不能调用?
2011-06-24 18:23
Redlass
Rank: 2
等 级:论坛游民
帖 子:20
专家分:29
注 册:2011-6-24
收藏
得分:0 
回复 3楼 ansic
已经确定问题所在了,多谢热心帮忙。

[ 本帖最后由 Redlass 于 2011-6-24 18:42 编辑 ]
2011-06-24 18:27
Redlass
Rank: 2
等 级:论坛游民
帖 子:20
专家分:29
注 册:2011-6-24
收藏
得分:0 
回复 4楼 voidx
哈哈,谢谢指点哈。。。
我确实不太了解getchar()的特点,在此学习了。
我是新学的,这个程序是在晚上睡不着的时候突发奇想乱搞的东西,竟然发现了这么一个问题。
总之多谢了,大家的热情真的让我很感动。


[ 本帖最后由 Redlass 于 2011-6-24 18:42 编辑 ]
2011-06-24 18:30
快速回复:新手C语言学习的练习和疑问--if语句条件应用时遇到的问题
数据加载中...
 
   



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

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