使用C语言运算符的注意事项
main()
{
int x=1,y=2,z=3,a,b;
b=(a=x+y),(a+z)
printf("a=%d,b=%d",b,a);
}
该语句得不到结果:b=6,a=3,原因是逗号操作符的优先级比赋值操作符的优先级低,应将赋值语句改为:
b=(a=x+y,a+z);
才能得到上述结果。
有时运算符的应用可以扩充,如使用?算符代替if-else语句不仅仅限于赋值,还可以用来实现一个或多个函数的调用。因为除void说明外的所有函数都可以返回一个值,在C表达式中,遇到一个函数的名字时,这个函数就被执行,并有一个确定的返回值。将一个或多个函数调用放在表达式中,形成?的操作数,就能执行一个或多个函数的调用,再如使用位操作符可以对一个程序加密。如生成一个不可读磁盘文件时,可以通过1的补码运算得到编码,第二次求补时便得到其译码,使值还原。
在使用运算符时,要注意不同运算符的使用,如:
float a;
printf("%d",size of f);
printf("%d",size of(int));
中第三句int的括号不能去,计算类型长度时,类型名必须用括号括起来,括号中不必放变量名,位操作直接对结果变量的每一位分别处理,所以位操作符通常不象关系和逻辑运算符那样用在条件语句中。