W standardowej bibliotece C nazwy nagłówków kończą się .h
przyrostkiem:
stdio.h
W C ++ te nazwy nagłówków są dostępne w alternatywnej formie z c
prefiksem:
cstdio
Napisz funkcję, która konwertuje pierwszą formę na drugą. Możesz dokonać konwersji w miejscu lub pozostawić oryginalny ciąg nienaruszony i zwrócić nowy ciąg. Cokolwiek wydaje się naturalne w wybranym języku.
Kod musi zostać skompilowany / zinterpretowany bez błędów. Ostrzeżenia kompilatora są dopuszczalne.
Oto twoje podstawowe rozwiązanie C. Ma 70 znaków i generuje ostrzeżenie o strlen
:
void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';}
Najkrótsze rozwiązanie (mierzone liczbą znaków) wygrywa.
Aktualizacja: jeśli wybrany język nie obsługuje funkcji, dopuszczalne są również całe programy.
Aktualizacja: Jak sugeruje FUZxxl, oto pełna lista plików nagłówkowych w standardowej bibliotece C:
assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h
W szczególności nie ma nazw nagłówków z wieloma kropkami.