-
What will be the final values of p and q in the following C code?
#include <stdio.h>
int n = 0;
int main()
{
int p = (funA() + funB()) | funB(); //bitwise or
int q = funB() | (funA() + funB()); //bitwise or
}
int funA()
{
if (n == 0)
return n + 1;
else
return n - 1;
}
int funB()
{
return n++;
}
-
- k value is 0 and L value is 0
- k and L value are undefined
- Compilation Error
- Runtime Error
- None of these
Correct Option: C
Compilation Error
main.c: In function ‘main’:
main.c:5:18: warning: implicit declaration of function ‘funA’ [-Wimplicit-function-declaration]
int p = (funA() + funB()) | funB(); //bitwise or
^~~~
main.c:5:27: warning: implicit declaration of function ‘funB’ [-Wimplicit-function-declaration]
int p = (funA() + funB()) | funB(); //bitwise or