今天的最后一个问题,不要误会我不是灌水.....
1.#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf(“d\n”,a);
}
这个出来的只为什么是2,而不是0.a/=SQR(k+m)/SQR(k+m)是不是等价与a=a/SQR(k+m)/=SQR(k+m)?帮我分解下这个表达式谢谢.
2.
#define f(a, b, x) a*x+b
printf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));
第一个值是5没有异议,然后第二个值却是25就不能理解了,他里面调用后函数不就是f(6,5,5)了吗?这有是怎么会事哦??
3.
对于基类型相同的两个指针变量之间为什么不能进行'+'运算.指针不是可以做算术,*,&还有赋值运算的吗?
4.
int k=0
while(k=1)k++;
while 循环执行的次数是< >1.无限循环还是.2有语法错误?
我是觉得有语法错误,因为while(k=1)是赋值运算了。