#include"stdio.h" #define F(y) 3.84+y #define PR(a) printf("%d",(int)(a)) main(){ int x=3; PR(F(3)*#include"stdio.h"#define F(y) 3.84+y#define PR(a) printf("%d",(int)(a))main(){int x=3;PR(F(3)*x); }为什么结果是12啊?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 06:31:47

#include"stdio.h" #define F(y) 3.84+y #define PR(a) printf("%d",(int)(a)) main(){ int x=3; PR(F(3)*#include"stdio.h"#define F(y) 3.84+y#define PR(a) printf("%d",(int)(a))main(){int x=3;PR(F(3)*x); }为什么结果是12啊?
#include"stdio.h" #define F(y) 3.84+y #define PR(a) printf("%d",(int)(a)) main(){ int x=3; PR(F(3)*
#include"stdio.h"
#define F(y) 3.84+y
#define PR(a) printf("%d",(int)(a))
main(){
int x=3;
PR(F(3)*x); }
为什么结果是12啊?

#include"stdio.h" #define F(y) 3.84+y #define PR(a) printf("%d",(int)(a)) main(){ int x=3; PR(F(3)*#include"stdio.h"#define F(y) 3.84+y#define PR(a) printf("%d",(int)(a))main(){int x=3;PR(F(3)*x); }为什么结果是12啊?
#define F(y) 3.84+y
是宏定义
具体语句就翻译成:
PR(3.84+3*x);
注意!是3*x 再和3.84相加(如果你要先加的话 就写成 #define F(y) (3.84+y)
结果当然是12.84 再转换为整形(截去小数) 就是12