Hallo Sternthaler,
- Alle warnings wegen 'signedness' können hier ignoriert werden. Es erfolgt an keiner Stelle eine Nutzung des höchsten Bits. Ist nur Compiler-Overload
- Die warnings wegen 'implicit declaration' können hier ignoriert werden. Bei keiner der Funktionen wird der (angenommene) int-Return-Wert überhaupt benutzt.
Das ist richtig, das Programm wird auch ohne diese Castorgie richtig laufen,
das Problem ist ja nur, wenn man die Warnings übersieht/ignoriert ignnoriert man auch richtig böse Warnings, wie 'make pointer from int' oder so.
Das war nicht böse gemeint, genauso wie mit 'Käse'...
@izaseba
Sollte deine Funktion PrintChar() nicht eher PrintuChar() heißen, dann könnte man noch eine 'echte' PrintChar() mit Vorzeichenausgabe für 'signed char' machen?
Ja Du hast wieder recht PrintuChar() wäre passender gewesen 
Es war eher aus der 'Ecke' 'wie komm ich ohne itoa aus...'
hmmm, wie könnte dann PrintChar() in der einfachsten Form aussehen
Vielleicht so (als erster Gedanke)
Code:
void PrintChar(unsigned char x)
{
char ergebnis[] = {' ','0','0','0'};
if (x<0) {
ergebnis[0] = '-';
x * = -1;
}
if (x >=100){
ergebnis[1] = '1';
x -=100;
}
while (x >= 10) {
ergebnis[2]++;
x -=10;
}
ergebnis[3] +=x;
SerWrite(ergebnis,4);
}
Gefällt mir zwar nicht ganz, es ist aber 'der erste Gedanke'
Wenn da Interesse bestehen sollte kann ich mir weitere Gedanken drüber machen, sonst lasse ich es einfach
Gruß Sebastian
Lesezeichen