Jep, eli oheessa kirjoittamani koodi. Eli muuttujan pien pitäis olla pienin muuttujista kun koodirivit on suoritettu.
Kiitos jeesaajille!!
#include
int min(int luku1, int luku2, int luku3);
void main(void)
{
int x, y, z, pien;
printf("Anna kolme kokonaislukua, ");
printf("niin ilmoitan mik„ niist„ on pienin.\n");
printf("Eka luku: ");
scanf("%d", &x);
printf("Toka luku: ");
scanf("%d", &y);
printf("Kolmas luku: ");
scanf("%d", &z);
pien=min(x,y,z);
printf("Pienin luvuista on %d",pien);
}
int min(int luku1, int luku2, int luku3)
{
int minimi;
if(luku1
Kiitos jeesaajille!!
#include
int min(int luku1, int luku2, int luku3);
void main(void)
{
int x, y, z, pien;
printf("Anna kolme kokonaislukua, ");
printf("niin ilmoitan mik„ niist„ on pienin.\n");
printf("Eka luku: ");
scanf("%d", &x);
printf("Toka luku: ");
scanf("%d", &y);
printf("Kolmas luku: ");
scanf("%d", &z);
pien=min(x,y,z);
printf("Pienin luvuista on %d",pien);
}
int min(int luku1, int luku2, int luku3)
{
int minimi;
if(luku1
Vastaukset 2
Vanhimmat
Koitas tätä. En nyt jaksa koittaa toimiiko mutta empä nyt muita virheitä löydä.
int min(int luku1, int luku2, int luku3)
{
int minimi=luku1;
if(luku2
Ensinnäkin void main on väärin C-kielessä. Sen pitää olla int main. Jos opaskirjasi sanoo muuta, se on muutenkin persiistä ja sillä voi heittää vesilintua ja hankkia paremman.
Toiseksi, vika on minimi-muuttujan käytössä. Esittelet sen:
int minimi;
Nyt sillä ei ole vielä määrättyä arvoa. Sen arvoksi voi sattua mitä vaan, mitä vain muistissa sattuu siinä kohdassa ennestään olemaan.
Paras tapa on laittaa se aluksi samaksi kuin luku1. Siten sillä on järkevä arvo ja sitä voi verrata sen jälkeen luku2:een ja luku3:een.
Jos laittasit int minimi=0;, niin voisi olla, että kaikki syötetyt luvut olisivat pienempiä, ja se väittäisi vaikkapa, että joukon
-3,-5,-11
minimi on 0. Sen sijaan joku vakio INT_MIN (mikähän se C.ssä olikaan?) voisi toimia. Helpompi on kuitenkin laittaa heti tuo luku1 minimiksi (aluksi arvauksena).
Väännäpä kääntäjästä varoitukset päälle, niin se varoittaa, että käytät alustamatonta muuttujaa (uninitialized variable). Esittely ei riitä, pitää myös antaa arvo ennen käyttöä.