PDA

View Full Version : array arithmetic in C?


pivoxa15
Oct19-05, 08:56 AM
int f[5];

Is it possible to do

f[i]+=1;

inside a valid for loop?

If not than how can I increment integers stored in an arrary for each i in C?

Thanks

Diane_
Oct19-05, 02:43 PM
I don't see anything wrong with it, but I tried it and it works just fine.

jtbell
Oct19-05, 03:20 PM
int f[5];
Is it possible to do
f[i]+=1;

Sure, so long as i has a valid value for an index to that array, namely in the range 0...4.

Actually, a C compiler will cheerfully let you use a value of i outside that range, but then you'll be incrementing the contents of some memory location outside the array. This sort of thing produces bugs that can be very difficult to track down unless you step through the code with a debugger.

faust9
Oct19-05, 03:31 PM
One of the best ways to learn C is to test these sorts of questions.


#include <stdio.h>

main()
{
int f[5]={0}, i;

for(i=0;i<5;i++)
{
printf(" i = %d \n", i);
printf(" f[i] = %d \n", f[i]);
f[i]+=i;
printf("incremented f[1] = %d \n", f[i]);
}

}


Don't be afraid to test these things when you have a question. A simple program like the one above will usually clear things up in a jiffy.