Ich würde es aber nach Variante 1 machen, weil man sich die dauernde Subtraktion von 1 in der Zeile
tabelle [ ((unsigned char)string[i])-1 ] ++;
erspart.
Die Anzahl der Elemente von tabelle muß von 255 auf 256 erweitert werden - mit Element 0 als quasi nutzlosem Element.
static int tabelle[256], akt_char; // static, weil schneller
außerdem würde ich nicht static verwenden, weil das Feld tabelle sonst am Heap und nicht am Stack abgelegt wird (=Speicherplatzverschwendung).
akt_char wird nicht verwendet und ist demnach obsolet.
|