假設我已經關聯(在我的腦海裏,而不是代碼)一個狀態的東西,其大小爲n的整數數組。
int array[n] = {0,0,1,0,1,0,1,0,1,.......}
。 (在此陣列中只有0和1)
狀態'0'表示在我的上下文中'鎖定'。同樣,'1'表示'解鎖'。 我希望每次打印變量,例如int array[3]
,我想輸出它的狀態作爲一個字符串,而不是變量的實際值。如何將變量值映射到指定的字符串?
我該怎麼做?有沒有一種方法可以將「0
」替換爲「鎖定」,1
替換爲「解鎖」?
P.S. - 我不想用數據類型字符串創建另一個數組,或者簡單地放一個if-else方程。非常感謝宏的幫助。
'看跌期權((字符* [2]){ 「鎖定」, 「解鎖」} [!!陣列[3]]);'是使用一個開始_compound literal_。 – chux
'puts(「unlocked」+ 2 *!array [3]);' –
'#define show_lock(b)((b)?「unlocked」:「locked」)'然後輸出show_lock(array [n])用'printf()','fputs()',或者你喜歡的任何東西。 –