Olisi hienoa jos joku osaisi auttaa todellista alottelijaa ohjelmmoinnissa, tehtävänä olisi laskea ympyrän kehän pituus kun säde annetaan. Pitkän väännön jälkeen sain nanooni tämmöisen koodin pätkän eikä kääntäjä valita siitä mitään. Kun kuitenkin yritän ajaa ohjelmaa tulee säteen kysymisen jälkeen virheilmoitus "muistialueen ylitys", missäköhän vika?
#include
#define pii 3.14
int main(void) {
int sade;
float keha;
printf("Anna ympyran sade");
scanf("%d",sade);
keha = pii*2*sade;
printf("Ympyran kehan pituus on %f\n", keha);
}
#include
#define pii 3.14
int main(void) {
int sade;
float keha;
printf("Anna ympyran sade");
scanf("%d",sade);
keha = pii*2*sade;
printf("Ympyran kehan pituus on %f\n", keha);
}
Vastaukset 4
Vanhimmat
muuta tätä
scanf("%d",sade);
tälläiseksi
scanf("%d",&sade);
Vieläpä:
scanf("%f", &sade);
%f koska sade on float.
Eipäs se sade ollutkaan float, vaikka olisi kyllä parempi olla. (kuinka käy jos syöttää esim. 1.9 (kokeile: vertaa syötteeseen 1))
Mielellään määritellään nuo definet käyttäen isoja kirjaimia...
eli #define PII 3.14
Tällöin pomppaavat paremmin koodista esille, ettei sekoita muihin muuttujiin vahingossa....