回 帖 发 新 帖 刷新版面

主题:小白有难,大大们帮帮忙。。。。谢了

/*一个判断闰年的简单程序但有点没想通,本人标准的小白大大门别笑*/
    #include"stdio.h"
    main()
    {

    int year,leap;
    scanf("%d",&year);
    if(year%4==0)
      {
      if(year%100==0)
        {
        if(year%400==0)
           leap=1;
         else
            leap=0;
        }
      else
        leap=1;
       }

    else
      leap=0;
    if(leap)  /*这是什么意思啊?在C里面定义一个参数(这里是leap)为1就默认为是真吗?就可以作为判读依据吗?*/
       printf("%d is  ",year);
     else
       printf("%d is  not ",year);
    printf("a leap year.\n");
       
    }
还有如果我这样编:
 #include"stdio.h"
    main()
    {
  int year , leap;
  scanf("%d",&year);                                                 
  if( year%4==0&&year%100!=0||year%100==0&&year%400==0  )/*if( (year%4==0&&year%100!=0)||(year%100==0&&year%400==0 )这句加上括号和没加,应该是一样的吧?他们的优先级决定的。。。。不一样请解释下。。谢了 )*/
  leap=1;
  else
  leap=0;
  if(leap)
  printf("%d is a",year);
  else
  printf("%d is not a ");
  printf("leap year");
    }

回复列表 (共6个回复)

沙发

这个嘛,跟if()在编译的时候有关系,印象中if() 括号里面的判断真伪的东东可以是变量或指针,具体点就是变量不为0即真;指针不为空即真;

板凳

C里0是逻辑假,其余为逻辑真
if里面的东西有是否运算的问题,加括号可以优先计算,所以为了表示逻辑结构的括号习惯上不去掉,也方便调试

3 楼

1. 在所有语言里面,非零就是逻辑真,为零就是逻辑假~
2. 是一样的,但是加上括号之后,关系就更加明确一些~
补充一点:stdio.h是标准的输入输出函数库,用#include"stdio.h"也是可以的,但是用#include<stdio.h>比较好一点!

4 楼

[quote]1. 在所有语言里面,非零就是逻辑真,为零就是逻辑假~
2. 是一样的,但是加上括号之后,关系就更加明确一些~
补充一点:stdio.h是标准的输入输出函数库,用#include"stdio.h"也是可以的,但是用#include<stdio.h>比较好一点![/quote]
“在所有语言里面”这句话有点过了,有的语言有严格类型匹配的情况下不能用数值量来代替逻辑结果,尽管从数值上是相同的。印象里有这样bt的语言,具体例子现在举不出了
另外,""来修饰标准库是一种降低编译效率的做法,虽然说可以,但是强烈不推荐。

5 楼

[quote][quote]1. 在所有语言里面,非零就是逻辑真,为零就是逻辑假~
2. 是一样的,但是加上括号之后,关系就更加明确一些~
补充一点:stdio.h是标准的输入输出函数库,用#include"stdio.h"也是可以的,但是用#include<stdio.h>比较好一点![/quote]
“在所有语言里面”这句话有点过了,有的语言有严格类型匹配的情况下不能用数值量来代替逻辑结果,尽管从数值上是相同的。印象里有这样bt的语言,具体例子现在举不出了
另外,""来修饰标准库是一种降低编译效率的做法,虽然说可以,但是强烈不推荐。[/quote]


在前20强语言中,解释性语言如Lua的语法中对booleans的有如下特点:
“两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真。”

6 楼

兄弟我也是个新手,不能说有经验但我知道做这种提首先要拎清里面的循环语句,然后一步步往下推就很容易理解了。希望能帮助你。[em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册