【发布时间】:2017-11-27 14:44:28
【问题描述】:
我必须在我的大学里使用borland TurboC++ 进行C 编程。
他们说我们的考试委员会推荐它。我必须使用它。。
问题是他们给了这个运算符优先级相关的问题:
int a=10,b=20,result;
result1 = ++a + b-- - a++ * b++ + a * ++b;
printf("result=%d",);
printf("\n a=%d",a);
printf("\n b=%d",b);
gcc 等其他编译器无法执行此操作。但是turbo C 可以给我们:
result=32
a=12
b=21
我在测试中犯了错误。我的老师试图解释发生了什么。但我不相信。这是turbo C 的某种奇怪行为吗?或者在过去,所有编译器都完全没问题。如果是这样,了解正在发生的事情以及如何理解的步骤是什么。
【问题讨论】:
标签: operators turbo-c++ turbo-c associativity