return
не является выражением, поэтому он не может быть операндом оператора запятой.
Вот (тривиально) однострочная версия, которая работает:
if (true) { printf("something"); return; }
(Примечание: однострочный переоценен. Пишите для удобства чтения, а не для краткости, и если они совпадают, беспроигрышный вариант. Конечно, я сам должен чаще следовать моим советам ...)
РЕДАКТИРОВАТЬ: Вы может думать о некотором варианте
if (true) return (void) printf("something"); // for void functions
if (true) return printf("something"), 0; // for an e.g. int function
, который работает, но уродлив и хакер, поскольку он затемняет то, что возвращается. Я не одобряю их использование.