В С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 раз(а).