Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Osoittimien käyttö

mrkebab [23.08.2003 16:40:58]

#

Terve.

harjoittelin tässä osoittimien käyttöä ja yritin tehdä ohjelmaa joka kysyy käyttäjältä kahta kokonaislukua käyttäen osoittimia ja tulostaa sitten niiden summan myös käyttäen osoittimia. Mikä mahtaa olla virheenä kun ohjelma ei toimi oikein, vaan antaa lukujen summaksi kokoajan ykkösen?

tässä on koodi:

#include<stdio.h>
#include<conio.h>
void main (void)
{

int a,b,summa;
int *aos,*bos,*sumos;

printf("\nAnna kaksi kok. lukua pilkulla erotettuna:");
scanf("%d,%d",&a,&b);

aos=&a;
bos=&b;
*sumos= *aos + *bos;
sumos=summa;
printf("Lukujen summa on %d",summa);
getch();
}

thefox [23.08.2003 16:48:45]

#

Aika ihme homma jos kääntäjä ei heittänyt varoitusta sijoituksistasi :)

Korjattuna koodisi näyttäisi tältä:

#include<stdio.h>
#include<conio.h>
void main (void)
{
	int a,b,summa;
	int *aos,*bos,*sumos;

	printf("\nAnna kaksi kok. lukua pilkulla erotettuna:");
	scanf("%d,%d",&a,&b);

	aos=&a;
	bos=&b;
	sumos = &summa; // sumos osoittaa summaan
	*sumos= *aos + *bos;
	printf("Lukujen summa on %d",summa);
	getch();
}

mrkebab [23.08.2003 17:10:21]

#

kiitos paljon.

odys [23.08.2003 17:12:12]

#

Mihin tuossa "ohjelmassa" muka tarvitsee conio.h:ta? Eikö C:n standardikirjasto stdio.h riitä?

thefox [23.08.2003 17:15:00]

#

lainaus:

Mihin tuossa "ohjelmassa" muka tarvitsee conio.h:ta? Eikö C:n standardikirjasto stdio.h riitä?

Ei, conio.h:sta löytyy getch().

odys [23.08.2003 17:17:12]

#

Outoa koska en ole koskaan includennut conio.h:ta testi C-ohjelmiini ja getch() toimii aivan mainiosti.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta