Point Out Errors

Question 1 :

Point out the compile time error in the program given below.

#include < stdio.h >
int main()
{
    int *x;
    *x=100;
    return 0;
}


A). Error: invalid assignment for x
B). Error: suspicious pointer conversion
C). No error
D). None of above
Answer : Option C

Explanation :

While reading the code there is no error, but upon running the program having an unitialised variable can cause the program to crash (Null pointer assignment).


Question 2 :

Point out the error in the program

#include < stdio.h >
int main()
{
    int a[] = {10, 20, 30, 40, 50};
    int j;
    for(j=0; j<5; j++)
    {
        printf("%d\n", a);
        a++;
    }
    return 0;
}


A). Error: Declaration syntax
B). Error: Expression syntax
C). Error: LValue required
D). Error: Rvalue required
Answer : Option C