Różnica między ' a "

0

Niedawno zacząłem się uczyć programowania w C, robię sobie różne proste zadania, teraz wymyśliłem sobie że wyświetlę cały alfabet, małe znaki od a do z
napisałem funkcję for(zn="a"; zn<="z";zn++) i printf("\n%c",zn); Wyświetlił mi się prawie alfabet, tylko że od dużej D do Z później jakieś symbole były następnie od a do z i znowu symbole, zmieniłem " na ' i wynik był taki jaki chciałem, od a do z, i moje pytanie brzmi, czymś się różnie " od '. Przed zamianą " z ' zmieniłem %c na %i i zeby sprawdzić to z ASCII i na początku mialem nr 68, a małe a ma nr 97

1

"" to literał ciągu znaków (czyli tablicę wartości znaków, zakończoną zerem)
'' to literał pojedynczego znaku.

Zakładając ASCII
"ABC" to [0x41, 0x42, 0x43, 0x00]
"A" to [0x41, 0x00]
a 'A' to 0x41 - przy czym załóż, że wszystkie wartości tutaj są typu char

0

Wszystko jasne ;) Dziękuję za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1