Point Out Errors

Question 1 :

Point out the error in the program

#include < stdio.h >
#define SI(p, n, r) float si; si=p*n*r/100;
int main()
{
    float p=2500, r=3.5;
    int n=3;
    SI(p, n, r);
    SI(1500, 2, 2.5);
    return 0;
}


A). 26250.00 7500.00
B). Nothing will print
C). Error: Multiple declaration of si
D). Garbage values
Answer : Option C

Explanation :

The macro #define SI(p, n, r) float si; si=p*n*r/100; contains the error. To remove this error, we have to modify this macro to

#define SI(p,n,r) p*n*r/100


Question 2 :

Point out the error in the program

#include < stdio.h >
int main()
{
    int i;
    #if A
        printf("Enter any number:");
        scanf("%d", &i);
    #elif B
        printf("The number is odd");
    return 0;
}


A). Error: unexpected end of file because there is no matching #endif
B). The number is odd
C). Garbage values
D). None of above
Answer : Option A

Explanation :

The conditional macro #if must have an #endif. In this program there is no #endif statement written.