Форум — Development Как в C красиво заменить NULL-pointer c 1 2 Я написал вот такой код: printf("My string is %s", get_my_string() || "unknown"); подразумевая что get_my_string возвращает строку или NULL. Компилятор такое не съел. Можно ли как-то красиво получить нужную мне функциональность? Ссылка
#define or(A, B) (A != NULL ? (A) : (B)) printf("My string is %s", or(get_my_string(), "unknown")); gh0stwizard ★★★★★ (17.02.15 21:20:27 UTC) Показать ответы Ссылка
Ответ на: комментарий от gh0stwizard 17.02.15 21:20:27 UTC годнота ieeya (18.02.15 07:34:55 UTC) Ссылка
Ответ на: комментарий от gh0stwizard 17.02.15 21:20:27 UTC #define or(A, B) (A != NULL ? (A) : (B))А будет вычислено дважды yoghurt ★★★★★ (18.02.15 08:04:59 UTC) Показать ответ Ссылка
Ответ на: комментарий от gh0stwizard 17.02.15 21:20:27 UTC а ничего, что твоя get_my_string() дважды вызывается? emulek ★ (19.02.15 20:25:01 UTC) Ссылка
Ответ на: комментарий от yoghurt 18.02.15 08:04:59 UTC А будет вычислено дваждыA может быть вычислено дважды. i-rinat ★★★★★ (19.02.15 20:40:52 UTC) Показать ответ Ссылка
Ответ на: комментарий от gh0stwizard 17.02.15 21:20:27 UTC И get_my_string будет вызвана дважды sergej ★★★★★ (19.02.15 20:43:24 UTC) Ссылка
Ответ на: комментарий от i-rinat 19.02.15 20:40:52 UTC Может быть, да yoghurt ★★★★★ (19.02.15 21:04:11 UTC) Ссылка