关于重复项的case问题

来源:4-17 switch与if语句的应用

慕仔6172366

2015-06-20 00:26

运行之后的结果非常奇怪⋯⋯

写回答 关注

3回答

  • sanjiaofeng
    2015-07-05 00:15:52

    你的思路应该是可行的。

    代码再改改我觉得应该可以用来判定任意手工输入年月日的结果。

  • sanjiaofeng
    2015-07-05 00:12:53

    1、下面这条代码不能完全判断是否闰年。

        int a = year%4;

    闰年的要求是“四年一闰,百年不闰,四百年再闰”。

    判断方法是:

    year%4==0&&year%100!=0||year%400==0

    要想将结果赋值给一个变量,可能得用到三目运算符。今天有在网上看到,但没记住。

    2、你的for循环部分跟变量day没有任何关系,相当于你定义了一系列变量、执行了一系列跟day无关的for循环和switch选择之后,执行了一句

        result += day;
        printf("%d",result);

    或者说你的代码其实相当于

    #include <stdio.h>
    int main() 
    { 
        int year = 2008;
        int month = 8;
        int day = 8;
        int result;
        int a = year%4;
        int i;
        int k = 0;
        
        result += day;
        printf("%d",result);
        return 0;
    }

    所以结果就是你定义的day=8的值。

  • 康振宁
    2015-06-23 15:30:33

    代码的问题,你再看看任务提示中的代码吧

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题