看板 C_and_CPP 關於我們 聯絡資訊
#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
nedbob:i+1*i+1+2*i+1+9 2+1*2+1+2*2+1+9=19 03/27 01:19
terranhardy:真是清楚,謝謝你了 03/27 02:07
sdyy:x=>(x) 就對了 03/27 13:01