这是一个正确的C程序吗?
#include <stdio.h>
int main() {
int a,b;
a = -3--3;
b = -3--(-3);
printf("a=%d b=%d", a,b);
}
这个程序是给我们的一个任务,用于寻找输出。但它显示
expression is not assignable
但是,我的其他同学得到了输出。
a = 0, b = -6
a = 0, b = -6
我不明白这是怎么回事,因为我觉得这个程序不对。
回答
我猜这只是你的操作员间隔的问题:
#include <stdio.h>
int main() {
int a,b;
a = -3 - -3;
b = -3 - -(-3);
printf("a=%d b=%d", a,b);
}
这给出了您想要的输出:
在--你的代码被认为是一个递减操作,而不是负号