新手求解一道关于【宏定义/预编译】的很简单的问题!!!
发布网友
发布时间:2022-08-30 13:32
我来回答
共3个回答
热心网友
时间:2024-12-11 21:30
宏定义是直接代换;
a++是要在完成整个整个表达式运算后才++的,a++优先级极低,++a优先级极高
热心网友
时间:2024-12-11 21:31
楼主所言非真,结果为s1=3,s2=156.
热心网友
时间:2024-12-11 21:31
宏定义是直接代换的
T(a++,a*++b,a+b+c)
被代换成
a++*a+b+c*a*++b/4
即
(a++)*a+b+c*a*(++b)/4
其中b要先自增一
所以,表达式的值为
3*3+4+5*3*4/4=28
a++自增的值是要在本行语句全部执行完后才增加1的