 Open in App
Not now

# Output of C++ programs | Set 45

• Difficulty Level : Medium
• Last Updated : 29 Apr, 2022

Q.1 What Is The Output Of this program?

## CPP

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``int` `a = b = c = 10;` `    ``a = b = c = 50;` `    ``printf``(``"%d %d %d"``, a, b, c);` `    ``return` `0;` `}`

Option
a) 50 50 50
b) Three Garbage Value
c) 10 10 10
d) Compile Time Error

`Ans: d`

Explanation : In this program, b and c are not declared and we can not directly assign the value to them so “Compilation Time” error occurred.
Q.2 What Is The Output Of this program?

## CPP

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``double` `x = 28;` `    ``int` `k;` `    ``k = (``int``)x % 5;` `    ``k = k << 2;` `    ``printf``(``"hx=%x"``, k);` `    ``return` `0;` `}`

Option
a) hx = a
b) hx = 12
c) hx = c
d) hx= 13

`Ans: C`

Explanation : In this code a double value modulus an integer value is given and further the result is left shifted 2 bits and printed in hexa-decimal form.
Q.3 What Is The Output Of this program?

## CPP

 `#include ` `#define square(x) x* x` `#define square1(x) (x) * (x)` `using` `namespace` `std;` `int` `main()` `{` `    ``printf``(``"%d, "``, square(10 + 2));` `    ``printf``(``"%d"``, square1(10 + 2));` `    ``return` `0;` `}`

Option
a) 144, 32
b) 32, 144
c) 100, 12
d) 12, 144

`Ans: B`

Explanation : In this program, #define macro used to replace value and calculated them like this:

```10 + 2 * 10 + 2 = 32
or (10+2)*(10+2) = 144 ```

Q.4 What Is The Output Of this program?

## CPP

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``int` `i;` `    ``i = 0x18 + 0110 + 11;` `    ``printf``(``"p= %d"``, i);` `    ``return` `0;` `}`

Option
a) p= 101
b) p= 107
c) p= 40
d) Error

`Ans: B`

Explanation : In this program 0x is hexa-decimal notation and 0 is octal, convert these value in decimal and add them.
Q.5 What Is The Output Of this program?

## CPP

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``char``* a = ``"INFO"``;` `    ``a++;` `    ``printf``(``"%s"``, a);` `    ``return` `0;` `}`

Option
a) Error
b) INFO
c) NFO
d) None of these

`Ans: C`

Explanation : In this program, *a is hard core string that contain a base address of string. When we increment the address, it points to next value of the string.
This article is contributed by Gyayak jain . If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.