printf("z是否等于x+y:%d\n",z=x+y);
//z是否等于x+y
真正输出结果为:z是否等于x+y:10。出来两个数,1和0,这是为什么。
z=x+y 是个运算式,相当于把x+y的值赋予z 实际printf输出的是z的值。 如果要判断是否相等 用==来判断 1个=号是赋值,2个=号是比较
如果要得到10,就写:printf("z是否等于x+y:%d\n",x+y);
那个10是x + y的结果,是一个数,不是两个数,"=="表示逻辑判断,语句返回值是1 或0.而"="表示赋值,你写的是赋值语句,而不是题目要求的逻辑判断语句,所以不对