c语言习题答案

解:
1、if(x==y)是关系运算符 if(x=y)是赋值运算符 在if语句里第二个不成立
2、3==3==3是关系运算符 疑惑结果是为3呢 还是true/false

    if(x==y)——==是关系运算符,是说无论x和y为何值,只要两者的值相等,结果就为“真”,即x==y的取值为1;if(x=y)——=是赋值运算符,x=y写在if的()里是当关系运算处理的,即是(x=y)!=0的简写;可见,只有y的值不为0时x=y的取值为“真”即1,反之y的值为0时取值为“假”即0。所以题目提供的“在if语句里第二个不成立”是胡说。

    表达式3==3==3的值为“假”即0。因为==是左至右结合的,所以先算前面的3==3为“真”即1,而1当然不等于3,所以为“假”即0。所以提供的“疑惑结果是为3呢”也是瞎猜。

    表达式100<=a<=300在C/C++中不能表达[100,300]。因为100<=a<=300在C/C++中是无定义的错误语句,应该写成100<=a && a<=300才是表达[100,300]的正确语句。

    假如输入的字符已经成功赋给了变量ch,则ch>='a' && ch<='z'就可以了。

    假如年份已经正确赋给y,那么当y%4==0 && y%100 || y%400==0为“真”即1时就是闰年,否则为平年。

    这个办法很多。假设数字已正确赋给整型变量n,举一例如下:

    int hw(int n){
        int m,t;
        for(t=n,m=0;t;(m*=10)+=t%10,t/=10);
        return m==n;
    }

    以上函数在n是回文时返回1,否则返回0。

温馨提示:内容为网友见解,仅供参考
无其他回答