Array mit printf ausgeben
-
Hallo!
Bin Anfänger mit C.....
Ich habe ein Array und möchte dieses mit printf ausgeben.Das Array habe ich von einer Funktion als Rückgabeparameter erhalten.
(LPBYTE)&array
Wie lautet der printf Befehl, um das 1. Element dieses Arrays auszugeben?printf("%s",array[0]); --> geht nicht
Danke!
Dirk
-
Was bedeutet "geht nicht"?
Welchen Typ hat array?
-
...es wird eine Exception geworfen
Der Typ ist BYTE
dirk
-
Exceptions gibts in C nicht. Vielleicht solltest du etwas mehr Code posten und die Fehlermeldung.
-
BYTE ist ein char
also:
printf("%c", array[0]);
-
....habe die Lösung
für BYTE muss "%d" angegeben werden.
also printf("%d",array[0]) greift auf das 1. Element des Arrays vom typ BYTE zu.
Dirk
-
wenn der typ byte ist, geht %d mitsicherheit nicht, da %d immer einen int erwartet
besser wäre in diesem fallprintf("%c",(char) array[0]);
...
-
Woher nimmst du diese Sicherheit? Natürlich geht das. char und short werden bei Funktionen mit variabler Argumentliste wie printf grundsätzlich erstmal in int umgewandelt. Der Unterschied zwischen %c und %d liegt dann lediglich in der Darstellung ... einmal als Zeichen, einmal als Dezimalzahl.