Kezdőoldal » Számítástechnika » Programozás » Hol a hiba az alábbi C program...

Hol a hiba az alábbi C programban?

Figyelt kérdés

Nemrég kezdtem el C nyleven programozni. Nem igazán az én asztalom, de több ismerősöm is azt mondta, ha fizikus v. mérnök akarok lenni, az alapokat érdemes megtanulnom. Íme az alább program, mely elméletileg kiír egy változót, majd azt, hogy hány byte helyet foglal le a memóriában (elnézést ha valami elképesztő szarvashibát vétettem, mint említettem, kezdő vagyok), ám ehelyett hatszámjegyű kódokat ad ki, szerintem ez a memóriában a neki lefoglalt hely megnevezése vagy hasonló, csak nem tudom, mi ennek a neve.


#include <stdio.h>

#include <stdlib.h>


int main()

{

int meret, a;

a = 124;

printf("%d", &a);

printf("\n");

meret = sizeof(a);

printf("%d", &meret);

printf("\n");

system("PAUSE");

return 0;

}



Hol lehet a gond? ELőre is köszönöm a türelmet és segítséget.


2014. jún. 26. 22:03
 1/6 anonim ***** válasza:
100%
Nem azt írja ki, h hány byte-ot foglal, hanem ,h melyik memóriacímen van a változó. '&' nem kell a printf-nél.
2014. jún. 26. 22:11
Hasznos számodra ez a válasz?
 2/6 Tengor ***** válasza:

A printf(...)-ben a &-ek nem kellenek, ha az a és a meret értékét szeretnéd kiírni.

Ha viszont a memóriában lévő helyüket akarod kiírni, akkor ne egészként írasd ki(%d), hanem pointerként (%p).

Gyanítom téged most még az első eset érint.

2014. jún. 26. 22:12
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Hehe, eszembe sem jutott volna, hogy ilyen egyszerű a válasz. Köszönüm szépen mindkét válaszadónak!
2014. jún. 26. 22:19
 4/6 anonim ***** válasza:
A &a -val az a változó memóriában elfoglalt helyére hivatkozunk, beolvasásnál például ezt kell használni, de kiírásnál simán csak a.
2014. jún. 27. 14:47
Hasznos számodra ez a válasz?
 5/6 Tengor ***** válasza:
Nem tudom milyen fordítót használsz, én a GCC-t engedtem rá és egyből jelezte, hogy ott a probléma.
2014. jún. 27. 14:51
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Tengor: Én a Dev-C++ nevű fordítót használom, nekem lefuttata, csak a fent említett kódot adta ki, gondolom valahogyan értelmezte vagy egy olyan jelölésnek nézte, aminek C++ nyelven viszont volna értelme.
2014. jún. 27. 17:12

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!