宏展开的问题,闲聊 非正式提问
程序代码:
#include<stdio.h> #define S(x) x*x int main() { int k=3,m=2; double a=9.0; a/=S(k+m)/S(k+m); //提问 这里的S(k+m)/S(k+m) 应该等于多少啊 //貌似 3*3+2/3*3+2=11啊 但是实际根据下面的printf 逆推的话 应该等于17 不知道咋来滴 //尝试用ida抓一下代码 确发现编译器直接把这个东东变成了一个数字 printf("%f",(double)a); }