- Milyen okostelefont vegyek?
- Üzemidőben nyerne csúcscsatát az Oppo
- iPhone topik
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Mobil flották
- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy Ring - gyűrű-kúra
- Poco F7 Pro - jó, de az amatőr sem rossz
- Samsung Galaxy Z Flip7 - kis fogyás is sokat számít
- Megjött a jubileumi Pixel széria
Ú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!
- Samsung Galaxy S22 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Legion Slim 5 16AHP9 15.6" QHD+ IPS Ryzen 7 8845HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- MSI Katana // i7-12700H // 32GB RAM // 1TB SSD // RTX 3070
- Bomba ár! Fujitsu LifeBook U904 - i5-4G I 10GB I 256SSD I 14" QHD+ I HDMI I Cam I W10 I Garancia!
- Bomba ár! Fujitsu LifeBook E744 - i7-4GEN I 16GB I 512SSD I 14" HD+ I DP I Cam I W10 I Garancia!
- Eladó karcmentes Xiaomi Redmi Note 10 5G 4/128GB / 12 hó jótállással
- Lenovo ThinkPad X13 Gen 1 i5-10310U 16GB 256GB 1 év garancia
- ÚJ Lenovo LOQ 15IRX9 - QHD 165Hz - i7-13650HX - 16GB - 1TB - RTX 4060 - Win11 - 3 év garancia - HUN
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS2116, 100% Akkumul
- Honor Magic6 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest