Hi All,
Could you please help me out in analysing this issue:
I really find strange behavior with the following code. If the statement b is
present as below, the for loop is executing infinitely. But when statement b is
replaced with statement a as
int c[31], s[31];. Then the for loop is exited after n iterations. Below is my
gcc version where i executed the code. Please help me out in this regard.
int c [30], s[30]; // statement b
#include <stdio.h>
void change (int a[], int, int);
int main ()
{
int d[3];
d[0] = 1, d[1] = 10, d[2] = 25;
int n = 30, k = 3;
change (d, k, n);
return 1;
}
void change (int d[], int k, int n)
{
int c [30], s[30]; // statement b
c[0] = 0;
int p;
int min, i, coin = 0;
for (p=1; p<=n; p++)
{
c[p] = 0;
s[p] = 0;
printf ("\n test : %d \n", p);
}
}
gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--
Thanks & Regards,
Mallik
[Non-text portions of this message have been removed]