[問題] #define 使用的問題
#include<stdio.h>
#define f(x)(x*x+2*x+9)
void main(){
int i=2;
printf("%d, %d \n", f(i), f(i+1));
}
請問為什麼f(i+1)跑出來是19呢? 代了很多變數都覺得很奇怪,
找了相關文章只知道避免這種情況發生是要在x變數再加上括號,
但還是不清楚19是怎麼被運算出來的? 麻煩大家幫忙解釋一下,謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.13.136
推
03/27 01:19, , 1F
03/27 01:19, 1F
→
03/27 02:07, , 2F
03/27 02:07, 2F
推
03/27 13:01, , 3F
03/27 13:01, 3F