Egy int tipusú változó értékét írassa ki char-tipusú mutató segítségével: mégis hogy? (c++)
Jelenleg így állok:
int i=10;
char *d;
d=&i;
Próbáltam már úgy,hogy a mutató tömb, de úgyse jó.
Ennyi, és csak ennyi a feladat? Mert ez gy elég gagyi. Mit jelent, hogy annak a segtíségével, és az "érték" mit takar, 10-es számrendszer-beli reprezentációt?
int x = 123;
char* p = (char*)&x;
cout << *((int*)p);
Szóval semmi értelme, de működik..
Hogy bájtonként írassuk ki.
(higy az int első bájtán mi van,másodikon,stb)
jaaa, hát így már más a helyzet..
Mi lenne, ha fognál egy ciklust, aminek sizeof(int) lépésszáma van, és kiíratnád benne d[0]-tól a bájtokat?
int x=100;
std::cout << char(x);
Minek ehhez mutató?
3-as:
mi lenne? hát hiba.Az lenne:
int szam=76;
int d=sizeof(szam);
char *m[d];
m[0]=&szam;
for (int i=0;i<d;i++)
{
cout<<*m;
}
@GuitarGod
igen, és egy intnek csak egy bájtja lehet, ugye?
@K
Persze hogy nem jó, mert össze-vissza indexelsz, meg másolgatsz..
int x = 123;
char* p = (char*)&x;
for (int i=0; i<sizeof(x); ++i) std::cout << p[i] << ' ';
Annak nézz utána, hogy ez: [] mit csinál, így legalább tanulsz a feladatból.
Szerintem jobb így, mert nézhetem,hogy hol a hiba és legközelebb már ennyivel nagyobb tapasztalatom lesz, mintsem hogy ott üljek a probléma felett 10000000000022342344 órán át (ne vegyük szószerint,de értitek hogy értem), akár feleslegesen is.
Amikor másra is kell az idő.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!