Mi a hiba ebben a C programban?
A cél az lenne hogy ha valaki egy 1-es számot ír be kiírja hogy A szam az egy.ha kettő akkor kettő
#include <stdio.h>
main(){
int szam;
printf("szam="); scanf("&szam");
szam = 1;
if (szam == 1){
printf("A szam az egy");
}
szam = 2;
if (szam == 1) {
printf("A szam ketto");
}
}
ezek mi a jóistennek vannak ott:
szam = 1;
szam = 2;
#include <stdio.h>
main(){
int szam;
scanf("%d",&szam);
if (szam == 1) printf("A szam az egy");
if (szam == 1) printf("A szam ketto");
return 0;
}
Hát igen a 2x1-et eléggé benéztem.
A scanfhez kelene még a %d, ?
Most nagyon kezdő szinten és semmilyen programozási alaposság nélkül mondom, de a scanf beolvassa azt, amit a ""-ben lát. a %valami azok azt jelentik, hogy itt nem karakter pontosan kell beolvasni, hanem valamilyen stílusú/változójú dolgot olvasson be.
%d -> kettes komplemens számot, %u abszolút értékes szám, %c -> karakterkódot, %s stringet.
Utána vesszővel elválasztva beírhatsz változókat, amiben eltárolja az %-k által beolvasottakat. [eléjük kell &, mert neki a változó címe kell]
Tehát: scanf("&szam"); Ez beolvas a stream-ről a &szam karaktereket és eldobja őket. scanf("%d"): ez beolvas egy számot és eldobja. scanf("%d", &szam) Ez beolvas egy számot és berakja a szam változóba.
nem, a komplemensnek ehhez semmi köze
a %d egy decimális reprezentációt vár ("string")
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!