Here is a listing of C questions and puzzles on “Increment and Decrement Operators” along with answers, explanations and/or solutions:
1. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int i = 0;
-
int x = i++, y = ++i;
-
printf("%d % dn", x, y);
-
return 0;
-
}
a) 0, 2
b) 0, 1
c) 1, 2
d) Undefined
Answer: a
Clarification: None.
2. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int i = 10;
-
int *p = &i;
-
printf("%dn", *p++);
-
}
a) 10
b) 11
c) Garbage value
d) Address of i
Answer: a
Clarification: None.
3. What will be the output of the following C code?
-
#include
-
void main()
-
{
-
int x = 97;
-
int y = sizeof(x++);
-
printf("X is %d", x);
-
}
a) X is 97
b) X is 98
c) X is 99
d) Run time error
Answer: a
Clarification: None.
4. What will be the output of the following C code?
-
#include
-
void main()
-
{
-
int x = 4, y, z;
-
y = --x;
-
z = x--;
-
printf("%d%d%d", x, y, z);
-
}
a) 3 2 3
b) 2 3 3
c) 3 2 2
d) 2 3 4
Answer: b
Clarification: None.
5. What will be the output of the following C code?
-
#include
-
void main()
-
{
-
int x = 4;
-
int *p = &x;
-
int *k = p++;
-
int r = p - k;
-
printf("%d", r);
-
}
a) 4
b) 8
c) 1
d) Run time error
Answer: c
Clarification: None.
6. What will be the output of the following C code?
-
#include
-
void main()
-
{
-
int a = 5, b = -7, c = 0, d;
-
d = ++a && ++b || ++c;
-
printf("n%d%d%d%d", a, b, c, d);
-
}
a) 6 -6 0 0
b) 6 -5 0 1
c) -6 -6 0 1
d) 6 -6 0 1
Answer: d
Clarification: None.
7. What will be the output of the following C code?
-
#include
-
void main()
-
{
-
int a = -5;
-
int k = (a++, ++a);
-
printf("%dn", k);
-
}
a) -4
b) -5
c) 4
d) -3
Answer: d
Clarification: None.