Ich versuchteIn C, warum ist sizeof (char) 1, wenn 'a' ein int ist?
printf("%d, %d\n", sizeof(char), sizeof('c'));
und bekam 1, 4 als Ausgabe. Wenn die Größe eines Charakters eins ist, warum gibt 'c'
mir 4? Ich schätze, es ist, weil es eine ganze Zahl ist. Also, wenn ich char ch = 'c';
mache, gibt es eine implizite Umwandlung, unter der Haube, von diesem 4-Byte-Wert zu einem 1-Byte-Wert passiert, wenn es der Char-Variable zugeordnet ist?
Ich glaube, es ist mit automatischer Integer-Förderung zu tun, jemand mit mehr Fakten als Glaube wird ein sachlichen Antwort –
@Roger schreiben: Er bittet um den Unterschied zwischen C und C++ sizeof (‚a‘), während ich gefragt wenn es eine Konvertierung gibt? Siehe den Fragenkörper. Ich habe bereits gefolgert, dass "a" eine ganze Zahl in C ist. – legends2k
Ich muss "David Rodríguez - dribeas" dafür danken, dass er darauf hingewiesen hat, dass der Link in meiner Antwort falsch ist. Ich lösche meine Antwort. Legends2k, die richtige Antwort sollte nach meiner bescheidenen Meinung zu Peter oder Neil gehen. –