C bug – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C bug – C / C++ – Fórum – Programujte.comC bug – C / C++ – Fórum – Programujte.com

 

10. 10. 2012   #1
-
0
-

Zdravím.

Mám tento kód:

#include <stdio.h>

typedef struct params
{
    unsigned char N;
} TParams;


int main()
{
    TParams params;
    params.N = 5;

    char omg[255];
    omg[255] = 0;

    printf("___%i___", params.N);

    return 0;
}

Proč mi printf nevytiskne číslo 5 (jak je nastaveno), ale nulu?

Operace s polem omg právě způsobují tento problém, ale nedaří se mi zjistit proč.

Můžete někdo poradit?

Kompiluju to pomocí nejnovějšího gcc na Windows 7 x64 SP2.

Děkuju

Nahlásit jako SPAM
IP: 2001:67c:1220:809::93e5:9...–
Atheo+4
Stálý člen
10. 10. 2012   #2
-
0
-

#1 pr0gr4mm3r
Zkoušel jsi změnit datový typ? Třeba na int %d  proměnná

Nahlásit jako SPAM
IP: 188.175.140.–
10. 10. 2012   #3
-
0
-

#2 Atheo
Zkoušel jsem char, short, int včetně unsigned variant a bez výsledku.

Právě jsem to samé otestoval na školních serverech FreeBSD a CentOS a všude ten samý problém.

Nahlásit jako SPAM
IP: 2001:67c:1220:809::93e5:9...–
vitamin+8
Grafoman
10. 10. 2012   #4
-
+1
-
Zajímavé

Ak je system little-endian a prekladac umiestnu premennu params az za premennou omg[255] tak prikazom omg[255]=0; si vymazes prvych 8 bitov premennej params, cize v params bude 0 :). 

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
10. 10. 2012   #5
-
0
-

#4 vitamin
Dík, příště mě rovnou prašti po hlavě.

Až teď mi došlo, že  

char omg[255]

mi vytvoří pole s 255 prvky, tudíž bude mít indexy 0 - 254. Prostě jasná věc a já nad tím laboruju už snad hodinu.

Nahlásit jako SPAM
IP: 2001:67c:1220:809::93e5:9...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 34 hostů

Podobná vlákna

Bug? — založil 7raul

IE bug — založil Marty_SVK

Divnej bug IE — založil Phoenix

Bug v Javě =D — založil ingiraxo

Malej bug — založil Phoenix

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý