#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/06/30 22:52:57
![#include](/uploads/image/z/1436661-45-1.jpg?t=%23include%22stdio.h%22+%23define+F%28y%29+3.84%2By+%23define+PR%28a%29+printf%28%22%25d%22%2C%28int%29%28a%29%29+main%28%29%7B+int+x%3D3%3B+PR%28F%283%29%2A%23include%22stdio.h%22%23define+F%28y%29+3.84%2By%23define+PR%28a%29+printf%28%22%25d%22%2C%28int%29%28a%29%29main%28%29%7Bint+x%3D3%3BPR%28F%283%29%2Ax%29%3B+%7D%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BB%93%E6%9E%9C%E6%98%AF12%E5%95%8A%3F)
#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