#include	<stdio.h>

/* Function declarations */
void mod_array(int array[], int len);
void show_array(int array[], int len);

#define	CUBE(x)	(x) * (x) * (x)

int
main()
{
	int	array[] = { 2, 3, 5, 7, 11 };
	int	len = sizeof(array)/sizeof(array[0]);

	printf("sizeof(array) in main() = %d bytes\n", sizeof(array));

	printf("'len' in main() is %d\n", len); 
	mod_array(array, len);
	printf("'len' in main() is still %d\n", len); 
	show_array(array, len);
	return 0;
}

void
mod_array(int array[], int len)
{
	printf("sizeof(array) in mod_array() = %d bytes\n", sizeof(array));
	printf("'len' in mod_array() is initially %d\n", len); 
	while (--len >= 0)
		array[len] = CUBE(array[len] + 1);
	printf("'len' in mod_array() is now %d\n", len); 
}

void
show_array(int array[], int len)
{
	int	i;
	printf("array is { ");
	for (i = 0; i < len; i++)
		printf("%d%s", array[i], (i == len - 1) ? " " : ", ");
	puts("}");
}
