#include <stdio.h>
//Here use a macro definition that assigns a value to SIZE (for example 5)
int main()
{
int i;
int array[SIZE];
int sum=0;
for(i=0; i<SIZE; i++)
{
//Here use a macro definition named as CALCSUM to make the
//following addition operation for the array
printf("Enter a[%d] = ",i);
scanf("%d", &array[i]);
sum+=array[i];
//Here use a macro definition named as VERBOSE to print
//what program does to the screen
printf("The user entered %d\n", array[i]);
//
//
//If the macro definition CALCSUM is not used, the program
//should assign 0 to the i-th element of the array
array[i]=0;
//Here, again use VERBOSE to print what program does to the screen
printf("a[%d] is assigned to zero\n", i);
//
//
}
//If CALCSUM is defined, print the summation of the array elements to the screen
printf("Summation of the array is %d\n",sum);
//
//If CALCSUM is not defined, but VERBOSE mode is used, print the following
printf("All the elements in the array are assigned to zero\n");
//
printf("Program terminated\n");
return 0;
}
When CALCSUM is defined, the program will sum up the values of each element in the given array.
If CALCSUM is not defined, each array element will be assigned to zero.
Besides, when VERBOSE mode is defined, the program will make print statements pointed out active.
[root@linux55]# gcc code.c
[root@linux55]# ./a.out
Program terminated
[root@linux55]# gcc code.c -D CALCSUM
[root@linux55]# ./a.out
Enter a[0] = 3
Enter a[1] = 0
Enter a[2] = 2
Enter a[3] = 5
Enter a[4] = 9
Summation of the array is 19
Program terminated
[root@linux55]# gcc code.c -D CALCSUM -D VERBOSE
[root@linux55]# ./a.out
Enter a[0] = 2
The user entered 2
Enter a[1] = 10
The user entered 10
Enter a[2] = 3
The user entered 3
Enter a[3] = 8
The user entered 8
Enter a[4] = 1
The user entered 1
Summation of the array is 24
Program terminated
[root@linux55]# gcc code.c -D VERBOSE
[root@linux55]# ./a.out
a[0] is assigned to 0
a[1] is assigned to 0
a[2] is assigned to 0
a[3] is assigned to 0
a[4] is assigned to 0
All the elements in the array is assigned to zero
Program terminated