- 1
- 2
#define IsVowel(symb) (((symb == 'a') || (symb == 'e') || (symb == 'i') || (symb == 'o') || (symb == 'y') || (symb == 'u') || (symb == 'A') || (symb == 'E') || (symb == 'E') || (symb == 'I') || (symb == 'O') || (symb == 'U')) ? 1 : 0)
#define IsGood(word) (((!IsVowel(word[0])) && (IsVowel(word[strlen(word) - 1]))) ? 1 : 0)
guest 27.04.2009 09:36 # 0
А теперь представим и .
Ну и шедевр:
Теперь NextGood вызовется в макросе либо 1 раз, либо 3 -- как повезёт ;) При этом если 3й вызов даст строку длиннее, чем 2й, то полный UB.
ich 14.08.2009 16:02 # 0