David Bahr wrote:
> Hej!
> 
> Vi er begyndt at have få undervisning i C programmering på min uddannelse og
> jeg er stødt på en opgave jeg ikke kan finde ud af, hvor jeg gør hvad galt
> henne. 
> 
> Opgaven går ud på at skrive en funktion der beregner kvadratroden af et tal
> x. 
> Bogen siger også, at man kan inkludere <math.h> fordi sqrt() funktionens
> protoype er angivet deri. 
> 
> Mit program ser således ud: 
> 
> #include <math.h>
> #include <stdio.h>
> 
> void square(double x); /* Function prototype */
> 
> int main(void)
> {
>     int i;
> 
>     printf("Enter a non-negative integer: ");
>     scanf("%lf", &i);
> 
>     square(i); /* Pass i to square function */
>     return 0;
> }
> 
> void square(double x)
> {
>     printf("The square of %lf is %lf",
>            x, sqrt(x)); /* Prints out the square of user input */
> 
> }
> 
> Håber ikke jeg har stillet et alt for dumt spørgsmål, men jeg har ikke
> rigtig kunne hitte ud af, hvad jeg har gjort galt. 
> 
> Mvh 
> 
> David
Jeg har lige skimtet din kode og har flg. kommentar:
Din i-variabel er deklareret som en integer. Men din scanf-funktion 
forudsætter den er en type lf (= double/long float). Og din 
square-funktion tager en double som argument. Så du skal deklarere i som 
double.
Best regards / Med venlig hilsen
Martin Jørgensen
-- 
---------------------------------------------------------------------------
Home of Martin Jørgensen - 
http://www.martinjoergensen.dk