Re: [閒聊] 不使用if的寫法
※ 引述《stanwu (stanwu)》之銘言:
: Hi 各位大大
: 這應該算是骨灰級的老問題了
: int i = 1;
: if ( i == 1 )
: printf ("yes");
: else
: printf ("no");
: PS: 可彈性調整 i 裡面的值 0-65535
: 如果改寫成 完全拋棄不使用 if 或是 ? : 之類的判斷式, 有其他寫法可以得到一樣的結果嗎?
: 任何語言都可以, 感謝各位大大 ^O^
湊個熱鬧
前面提的陣列法
如果只有兩種答案,i為0~65535,不用任何判斷式
char* str[] = {"no","yes"};
int i = n & 65535;
printf("%s",*(str+(i&1)));
這樣就算換成組語也不會有jmp等指令出現
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.173.123
※ 編輯: del680202 來自: 111.249.173.123 (01/08 20:34)
討論串 (同標題文章)