Új hozzászólás Aktív témák
-
llaszlo
veterán
A következő ötletem támadt. Két tömböt hozok létre az egyik tartalmazza a karaktereket kis- és nagybetűkkel a másik pedig az ezekhez tartozó számokat.
Viszont
Miért foglalnak két helyet egy tömbben az ékezetes karakterek?int x=0;
unsigned char betu []="AaÁáBbCcDdEeÉéFfGgHhIiJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz";Kiíratáskor, viszont ez fogad
while (betu[x])
{
printf ("x=%d %c ", x, betu [x]);
x++;
}x=0 A x=1 a x=2 � x=3 � x=4 � x=5 � x=6 B x=7 b x=8 C x=9 c x=10 D x=11 d x=12 E x=13 e x=14 � x=15 � x=16 � x=17 � x=18 F x=19 f x=20 G x=21 g x=22 H x=23 h x=24 I x=25 i x=26 J x=27 j x=28 K x=29 k x=30 L x=31 l x=32 M x=33 m x=34 N x=35 n x=36 O x=37 o x=38 � x=39 � x=40 � x=41 � x=42 � x=43 � x=44 � x=45 � x=46 � x=47 � x=48 � x=49 � x=50 P x=51 p x=52 Q x=53 q x=54 R x=55 r x=56 S x=57 s x=58 T x=59 t x=60 U x=61 u x=62 � x=63 � x=64 � x=65 � x=66 � x=67 � x=68 � x=69 � x=70 � x=71 � x=72 � x=73 � x=74 V x=75 v x=76 W x=77 w x=78 X x=79 x x=80 Y x=81 y x=82 Z x=83 z
Az ékezetes karakterek helyén ?-ek vannak.
Így látszólag jó, viszont az x értéke mutatja, hogy mégsem egy 69-es tömböt, hanem egy 85-ös tömböt foglal le a \0-val együtt.
while (betu[x])
{
printf ("x=%d %c ", x, betu [x]);
x++;
}printf ("%d", x);
AaÁáBbCcDdEeÉéFfGgHhIiJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz84
Az ékezetes karaktereket 16 biten tárolná és nem 8-on, a char pedig csak 8-cal dolgozik?
Ez lenne a hiba oka?
Mi lehet a megoldás?Szerk: Visszaolvastam a fórumot is az ékezetes karakterekkel kapcsolatban és láttam, hogy másnál is gondot okoz. Melyik megoldás lenne ebben az esetben a legcélszerűbb?
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Corsair VENGEANCE LED 32GB (2x16GB) DDR4 2666MHz (Beszámítás)
- Manfrotto XPRO videó monopod + fluidtech talp + MVH500AH fluid fej (MVMXPRO500)
- SAMSUNG LS32DG800SU ) 240HZ 4K OLED GAMER MONITOR !! AKCIÓ
- SAMSUNG (LS57CG952NUXEN) 57" Q-LED GAMER 6K MONITOR ! AKCIÓ
- SAMSUNG (LS49CG934SUXEN) 49" 240HZ DUAL QHD OLED GAMER ! AKCIÓ
- AKCIÓ! GIGABYTE B550M R7 5700X 32GB DDR4 512GB SSD RTX 4070 Super 12GB NZXT H510i NZXT 850W
- Keresünk iPhone 13/13 Mini/13 Pro/13 Pro Max
- 276 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285H, RTX 5070 (ELKELT)
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- 27% - ASUS ROG Strix G6 Gaming Notebook! 16" 165Hz / i5-13450HX / RTX 4050 / 16GB DDR5 / 1TB NVMe
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
