c语言正确定义赋值
发布网友
发布时间:2022-05-01 02:26
我来回答
共1个回答
热心网友
时间:2022-06-22 12:27
A)x=y==5;
// 正确,x=y==5等价于x=(y==5), ==号是判断两端是否相等,若右边等于左边,则y==5表达式的值为1,若不等,则为0,假如相等,就等于说把1赋值给了x,若不等就是说把0赋值给x.=号是赋值,右边的值给左边,==是判断,右边是否等于左边.==的优先级高于=,故先算==再=.故x=y==5同等于 x=(y==5);
B)x=n%2.5;
//错误,%是模除符号,就是求余数用的,用这个符号,两边必须是整型,说白了两边都得是整数,不能是小数.
C)x=n=1
//很明显,缺少分号,一个语句的最基本要求就是,以分号结束.如果做为一个表达式是合法的,x=n=1同等于 x=1,n=1;
D)x=5=4=1;
//错误,赋值的最基本要求,被赋值的一定是变量,不能是常量,也就是说左边是变量,右边可以是常量,或者已经被赋值的变量, 因为5 4 都不是变量,故错误.