精華區beta Programming 關於我們 聯絡資訊
※ 引述《coldstar.bbs@bbs.cs.nctu.edu.tw (灑落的月光伴著)》之銘言: > ※ 引述《leicheong.bbs@bbs.sayya.org (理昌)》之銘言: > > 這關乎parameter passing的方式. > > 我想你找一下關於parameter passing的書/網頁看一下會比較清楚, 關鍵是 > > 只要compiler按照該function declare的方式, 把合適的東西(值或variable > > pointer)放到calling convension下指定的位置(例如Pascal calling > > conversion下是逆次序PUSH到stack)就可以了. > 我不是這個意思 > 對 compiler 來說,要把 printf("%d", b) 最佳化成 printf("10") > 應該需要 compiler 進 printf 裡實地觀察一遍才知道的吧? > 但是現在的 compiler 已經這麼聰明了? 不需要的吧. 如果b的值會改變的話, 你應該用&b (例如"scanf("%d", &b);") 不是這樣的話, 直接把數值傳過去就可以了. -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: ip-84-126-134-202.rev.dyxnet.com