Геолог-анархист
char *f1(){return "!";}
char *f2(){return "?";}
...
printf("Спасибо %s", choose() : f1() ? f(2));
...
char *f2(){return "?";}
...
printf("Спасибо %s", choose() : f1() ? f(2));
...
Патамучта если надо будет изменить возвращаемый текст, то придется менять в трех местах: в объявлениях f1 и f2, а также в printf`е.
Гы. А с принтфом ваще пипец =))))
Тьфу, пьянь. Пропил мастерство, да.
Альтернативное решение:
void f1(){puts("!"
void f2(){puts("?"
...
printf("Спасибо"
choose()?f1():f2();
...
И изменяй сколько влезет. Кстати, puts ещё и экономичнее чем printf.
А почему бы тогда не воспользоваться iostream.h?