(1)int a=1,b=2,c=3;
a>b==3; //这种是可以存在的表达式的值为0.即为假
a<b<c; //为真表达式的值为1.
(2)‘a’>101; //用a字符的ascll值比较
(3)应该避免直接对实数的值做相等或不等于0的判断。
如:1.0/3.0*3.0==1.0 不能这样比较,因为浮点运算有误差。
应改为:fabs(1.0/3.0*3.0)<1e-6 //1e-6表示接近0;
//请分析以下程序运行结果是什么?
#include <stdio.h>
int main()
{
double f=2.0;
double s=0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2;
if(f == s)
printf("f与s相等\n");
else
printf("f与s不相等\n");
printf("f=%lf,s=%lf\n",f,s);
}
应该怎么改?
运用上面提到的知识自己试一下。