В С99 определен идентификатор __func__, который указывает (в виде строкового литерала) имя функции, в которой встречается __func__. Например,
void StrUpper(char *str) { static int i = 0; i++; printf("Функция %s была вызвана %d раз(а).\n", __func__, i); while(*str) { *str = toupper(*str); str++; } }
При первом вызове функции StrUpper() появится следующий вывод:
Функция StrUpper была вызвана 1 раз(а).