Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jun 2002 18:34:44 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        "Christopher J. Umina" <FJU@Fritzilldo.com>
Cc:        Giorgos Keramidas <keramida@ceid.upatras.gr>, FreeBSD Questions <questions@FreeBSD.ORG>
Subject:   Re: Load Averages with C
Message-ID:  <20020609163444.GA36956@falcon.midgard.homeip.net>
In-Reply-To: <001901c20fe2$9988cc60$0301a8c0@uminafamily.com>
References:  <001201c20f54$46ba9e20$0301a8c0@uminafamily.com> <20020608222753.GA38586@hades.hell.gr> <001901c20fe2$9988cc60$0301a8c0@uminafamily.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 09, 2002 at 11:22:21AM -0700, Christopher J. Umina wrote:
> Why when I use getloadavg(3) do I come out with wierd numbers?
> 
> This is my code.
> 
> #include <stdio.h>
> #include <stdlib.h>
> 
> int main(void) {
>         int i;
>         double loadavg[3];
>         int getloadavg(double loadavg[], int nelem);
> 
>         for (i = 0; i < 3; ++i) {
>                 printf ("%d\n", loadavg[i]);
>         }
> }
> 
> and my output is always different, but it's:
> 
> %./loadavg
> 1
> 4
> 663
> 
> This time.  What can I do to make these numbers correct?
> 
> What am I doing wrong?

You should learn C a bit better.
In your program you don't actually call getloadvg(), you just declare
it inside your function. You also try to print doubles as integers.

Try this program instead:


#include <stdio.h>
#include <stdlib.h>

int main(void)
	{
	double avg[3];
	int i;
	
	getloadavg(avg,3);	
	for(i=0;i<3;i++)
		{
		printf("%f\n",avg[i]);
		}
	return 0;
	}



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020609163444.GA36956>