[問題] 請教關於「引用」的用法..(sprintf?)

看板C_and_CPP (C/C++)作者 (……)時間16年前 (2009/07/17 03:20), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
請教各位前輩: 先讓小的先描述一下大意 #define name1 "Mary" #define name2 "John" #define name3 "Nick" 我希望用迴圈依序print出這三人的名字, 所以我參考網路上sprintf的範例寫出下面內容... for(i=1;i<=3;i++) { sprintf(nametemp,"name%d",i); printf("[%d] %s\n",i,nametemp); } 執行結果: [1] name1 [2] name2 [3] name3 預期結果: [1] Mary [2] John [3] Nick 很明顯執行結果跟我想要的目標不一樣OTZ 我大概知道原因是什麼,不過卻不知如何修改 請教我該如何編寫這段程式碼呢? (因為用途需要,所以一定要用define定義人名) 謝謝~ -- 演誰像誰誰演誰誰都像誰, 是我非我我是我我亦非我...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.7.76

07/17 03:33, , 1F
要是編譯期常數...
07/17 03:33, 1F

07/17 03:36, , 2F
用迴圈應該是沒辦法 可以看一下這篇#19-oE6x6
07/17 03:36, 2F

07/17 04:21, , 3F
謝謝~ 看來讀取#define的變數很麻煩
07/17 04:21, 3F

07/17 19:49, , 4F
那不是 變數 是 常數
07/17 19:49, 4F
文章代碼(AID): #1ANtsCje (C_and_CPP)
文章代碼(AID): #1ANtsCje (C_and_CPP)