Sail E0 Webinar
Question


Point out the error in the program (in Turbo-C).


#include<stdio.h>
#define MAX 128
int main()
{
const int max=128;
char array[max];
char string[MAX];
array[0] = string[0] = 'A';
printf("%c %c\n", array[0], string[0]);
return 0;
}
Options:
A .  Error: unknown max in declaration/Constant expression required
B .  Error: invalid array string
C .  None of above
D .  No error. It prints A A
Answer: Option A

Step 1: A macro named MAX is defined with value 128

Step 2: const int max=128; The constant variable max is declared as an integer data type and it is 

initialized with value 128.

Step 3: char array[max]; This statement reports an error "constant expression required". Because, 

we cannot use variable to define the size of array.

To avoid this error, we have to declare the size of an array as static. Eg. char array[10];or use macro 

char array[MAX];

Note: The above program will print A A as output in Unix platform.




Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers