По какой-то странной причине я копировал пример на другом языке, который не использует типы, и забыл добавить один в параметр определения функции, и это сработало.
#include <stdio.h>
char toChar(n) {
//sizeof n is 4 on my 32 bit system
const char *alpha = "0123456789ABCDEF";
return alpha[n];
}
int main() {
putchar(toChar(15)); //i.e.
return 0;
}
Я уверен, что в большинстве компиляторов какого-либо стандарта main по умолчанию используется int (но только return), верно ли это и для других функций, или эта реализация определена? Кажется необычным, мой компилятор - это просто немного устаревший порт GCC (MinGW).