Exercise: Const

Questions for: Const

Point out the error in the program.
#include<stdio.h>
const char *fun();

int main()
{
    *fun() = 'A';
    return 0;
}
const char *fun()
{
    return "Hello";
}
A:
Error: RValue required
B:
Error: Lvalue required
C:
Error: fun() returns a pointer const character which cannot be modified
D:
No error
Answer: C
No answer description is available. Let's discuss.
Point out the error in the program.
#include<stdio.h>
#define MAX 128

int main()
{
    char mybuf[] = "India";
    char yourbuf[] = "BIX";
    char const *ptr = mybuf;
    *ptr = 'a';
    ptr = yourbuf;
    return 0;
}
A:
Error: cannot convert ptr const value
B:
Error: unknown pointer conversion
C:
No error
D:
None of above
Answer: A

Step 1: char mybuf[] = "India"; The variable mybuff is declared as an array of characters and initialized with string "India".

Step 2: char yourbuf[] = "BIX"; The variable yourbuf is declared as an array of characters and initialized with string "BIX".

Step 3: char const *ptr = mybuf; Here, ptr is a constant pointer, which points at a char.

The value at which ptr it points is a constant; it will be an error to modify the pointed character; There will not be any error to modify the pointer itself.

Step 4: *ptr = 'a'; Here, we are changing the value of ptr, this will result in the error "cannot modify a const object".

Point out the error in the program.
#include<stdio.h>

int main()
{
    const int k=7;
    int *const q=&k;
    printf("%d", *q);
    return 0;
}
A:
Error: RValue required
B:
Error: Lvalue required
C:
Error: cannot convert from 'const int *' to 'int *const'
D:
No error
Answer: D
No error. This will produce 7 as output.
Point out the error in the program.
#include<stdio.h>

int main()
{
    const int x;
    x=128;
    printf("%d\n", x);
    return 0;
}
A:
Error: unknown data type const int
B:
Error: const variable have been initialised when declared.
C:
Error: stack overflow in x
D:
No error
Answer: B

A const variable has to be initialized when it is declared. later assigning the value to the const variable will result in an error "Cannot modify the const object".

Hence Option B is correct

Point out the error in the program.
#include<stdio.h>
const char *fun();

int main()
{
    char *ptr = fun();
    return 0;
}
const char *fun()
{
    return "Hello";
}
A:
Error: Lvalue required
B:
Error: cannot convert 'const char *' to 'char *'.
C:
No error and No output
D:
None of above
Answer: C
No answer description is available. Let's discuss.
Ad Slot (Above Pagination)
Quiz