- 对变量作初始化处理时,需要逐个赋值,以下为常犯错误:
int m,n,x=5;
printf("%d %d %d",m,n,x);
输出结果为1 0 5
,可见只对x做了初始化,而不是对三者都赋值。
2.强制类型转换符
double m,n,p;
m=9/2;
n=double(9)/2;
p=(double)9/2;
printf("%f %f %f",m,n,p);
输出结果为4.000000 4.500000 4.500000
- 关系运算符
exp1&&exp2:若已算出exp1为假,则无需计算exp2,表达式必为假
int a=0,b=1;
bool n=(a++)&&(b++);
cout<<a<<' '<<b<<endl;
输出结果为1 1
,因a++返回值为0,无需计算b++;
exp1 || exp2:若已算出exp1为真,则无需计算exp2,表达式必为真
n=(a++)||(b++);
cout<<a<<' '<<b<<endl;
输出结果为2 1
,a++返回值为1,无需计算b++