首页 > 教育

“宏的实参”的执行顺序是从左到右还是从右到左?

更新时间2022-05-23 23:03:43

“宏的实参”的执行顺序是 从左到右 还是 从右到左 ?

如果是从右到左的话,这两个的打印结果应该都是200 疑惑

我测试了下,你这个又是与编译器有关的(也就是没有标准答案的)

vc++老式版本及c++ builder.程序的结果的确是100 100

而对于vs2022及新版本的gcc ,结果确是200 100

我记得有位大神说过,编写C/C++程序,尽量不要用产生二义性结果的语法

如在参数中用赋值语句。

看了下生成的汇编,对gcc ,对s1/s2语句,它都是先赋值,所以结果就 200 100 了。

上一篇:已知x的平方-x=2,求(x-2)(2x1)-(x-1)的平方-1

下一篇:火药的储存条件有哪些