Const Questions And Answers.
1. | What will be the output of the program? |
|
#include<stdio.h>
int main()
{
int y=128;
const int x=y;
printf("%d\n", x);
return 0;
}
|
| A. | 128 |
| B. | Garbage value |
| C. | Error |
| D. | 0 |
|
|
| Answer: Option A |
|
|
| Explanation: |
|
Step 1: int y=128; The variable 'y' is declared as an integer type and initialized to value "128".
Step 2: const int x=y; The constant variable 'x' is declared as an integer and it is initialized with the variable 'y' value.
Step 3: printf("%d\n", x); It prints the value of variable 'x'.
Hence the output of the program is "128" |
| See More Information |
|
|
|
Tutorial Link: |
Published by:Michael Daani
2. | What will be the output of the program ? |
|
#include<stdio.h>
#include<stdlib.h>
union employee
{
char name[15];
int age;
float salary;
};
const union employee e1;
int main()
{
strcpy(e1.name, "K");
printf("%s %d %f", e1.name, e1.age, e1.salary);
return 0;
}
|
| A. | Error: RValue required |
| B. | Error: LValue required in strcpy |
| C. | Error: cannot convert from 'const int *' to 'int *const' |
| D. | No Error |
|
|
| Answer: Option D |
|
|
| Explanation: |
|
The output will be (in 16-bit platform DOS):
K 75 0.000000 |
| See More Information |
|
|
|
Tutorial Link: |
Published by:Michael Daani
3. | What will be the output of the program? |
|
#include<stdio.h>
int fun(int **ptr);
int main()
{
int i=10;
const int *ptr = &i;
fun(&ptr);
return 0;
}
int fun(int **ptr)
{
int j = 223;
int *temp = &j;
printf("Before changing ptr = %5x\n", *ptr);
const *ptr = temp;
printf("After changing ptr = %5x\n", *ptr);
return 0;
}
|
| A. | Address of i Address of j |
| B. | 10 223 |
| C. | Garbage Value |
| D. | Error: cannot convert parameter 1 from 'const int **' to 'int **' |
|
|
Published by:Michael Daani
4. | What will be the output of the program? |
|
#include<stdio.h>
int main()
{
const int x=5;
const int *ptrx;
ptrx = &x;
*ptrx = 10;
printf("%d\n", x);
return 0;
}
|
| A. | 5 |
| B. | 10 |
| C. | Garbage Value |
| D. | Error |
|
|
| Answer: Option D |
|
|
| Explanation: |
|
Step 1: const int x=5; The constant variable x is declared as an integer data type and initialized with value '5'.
Step 2: const int *ptrx; The constant variable ptrx is declared as an integer pointer.
Step 3: ptrx = &x; The address of the constant variable x is assigned to integer pointer variable ptrx.
Step 4: *ptrx = 10; Here we are indirectly trying to change the value of the constant vaiable x. This will result in an error.
To change the value of const variable x we have to use *(int *)&x = 10; |
| See More Information |
|
|
|
Tutorial Link: |
Published by:Michael Daani
5. | What will be the output of the program? |
|
int fun(int **ptr);
int main()
{
int i=10, j=20;
const int *ptr = &i;
printf(" i = %5X", ptr);
printf(" ptr = %d", *ptr);
ptr = &j;
printf(" j = %5X", ptr);
printf(" ptr = %d", *ptr);
return 0;
}
|
| A. | i= FFE2 ptr=12 j=FFE4 ptr=24 |
| B. | i= FFE4 ptr=10 j=FFE2 ptr=20 |
| C. | i= FFE0 ptr=20 j=FFE1 ptr=30 |
| D. | Garbage value |
|
|
Published by:Michael Daani