Zdefiniowano char zm1; w C++. Jak poprawnie przypisać do niej wartość?
Źle.
== to porównanie, nie przypisanie.Źle. To napis (string), nie pojedynczy znak.
Dobrze. Znak ujmuje się w APOSTROFY (pojedyncze cudzysłowy).
Źle.
zm1 to pojedynczy znak, nie tablica - indeks jest błędny.Zmienna typu
char przechowuje POJEDYNCZY znak, który w C++ zapisuje się w apostrofach. Dlatego zm1 = 'w'; poprawnie przypisuje znak - apostrofy odróżniają literał znakowy od łańcucha. Dlatego prawidłowe jest zm1 = 'w';.char mieści jeden znak w apostrofach. zm1[2] = 32; traktuje zmienną jak tablicę (indeks [2]), choć to pojedynczy znak. "wiadro" to łańcuch w cudzysłowie - nie zmieści się w jednym char. zm1 == 0x35 używa operatora PORÓWNANIA ==, a nie przypisania. Poprawne przypisanie znaku to zm1 = 'w';.