| Advertentie | |
|
|
|
|
|
||
|
Citaat:
|
||
|
|
||
|
Citaat:
Je kan er niet onderuit, anders krijgen de functies in math.h geen bijhorende code. Functies die geen returnvalue geven, geven niet perse 0 terug !!! Zij geven een ongedefineerde waarde terug. En main mag dan impliciet int zijn, volgens mij is dat er ook uit in c99... |
||
|
|
|
|
is er eigenlijk een manier om een functie meerdere variabelen terug te laten geven? want ik zou graag een functie invoer() willen maken die het volgende doet:
Code:
/*invoer*/
double k,con,c,x;
printf("Geef de beginconcentratie:\n");
scanf("%lf",&con);
printf("En geef de Kz:\n");
scanf("%lf",&k);
/*einde invoer*/
|
|
|
|
||
|
Citaat:
Code:
#include <stdio.h>
typedef struct {
int a,b;
} onzin;
/* manier een: pointers, (is goed) */
int meer(int* var1, int* var2)
{
*var1 = 16;
*var2 = 32;
return 0;
}
/* manier twee, struct terug geven, (is slecht) */
onzin minder(void)
{
onzin r;
r.a = 64;
r.b = 128;
return r;
}
int main(void)
{
int a,b;
onzin c;
(void)meer( &a, &b );
c = minder();
(void)printf("%d %d\n", a,b );
(void)printf("%d %d\n", c.a, c.b );
return 0;
}
|
||
|
|
|
|
Code:
void invoer(int *p, int *q)
{
scanf("%d", p); /*dat was heel educatief,
scanf stuurt de waarde naar 'n adres*/
scanf("%d", q);
}
aan te roepen met Code:
int a,b; invoer(&a, &b); Code:
int a,b,*p,*q; p = &a, q = &b; invoer(p,q); ik wist niet dat scanf naar 'n adres stuurde (hoewel t wel logisch is, gezien je ook &a voor n normale variabele geeft) Laatst gewijzigd op 31-03-2005 om 21:39. |
|
|
|
|||||
|
Citaat:
Citaat:
Citaat:
Citaat:
Als je een beetje goede inleiding wil in C (dat is pointers ed) kan ik je aanraden om de tutorial te lezen van lcc-win32 (google naar lcc-win32 voor website ) Hoewel er enkele windows onderdelen in zitten geeft hij heel wat duidelijkheid over C zelf.
|
|||||
|
|
||
|
Citaat:
|
||
|
|
|
het zit weer ns niet meeik hoef voor geen enkele functie uit <string.h> iets extra's te doen, maar voor strien() wel, heb t zo gefixt (met wat hulp uit m'n boek )Code:
unsigned strien (const char *s)
{
register int n;
for (n = 0; *s != '\0'; ++s)
++n;
return n;
}
is er een compilatieoptie om het te fixen? dat is makkelijker dan dit telkens mee te voegen hoewel ik natuurlijk altijd een header file kan maken
|
|
|
|
||
|
Citaat:
|
||
![]() |
|
|