Predict the output of the following C++ programs:
- Question 1:
#include <cstdlib>#include <iostream>usingnamespacestd;intmain(){intran =rand();cout << ran << endl;return0;}chevron_rightfilter_noneOutput:
1804289383
Explanation: As the declared number is an integer, It will produce the random number from 0 to RAND_MAX. The value of RAND_MAX is library-dependent but is guaranteed to be at least 32767 on any standard library implementation.
- Question 2:
#include <cstdlib>#include <iostream>usingnamespacestd;intmain(){cout << RAND_MAX << endl;return0;}chevron_rightfilter_noneOutput:
2147483647
Explanation: The output is Compiler Dependent. RAND_MAX is a function used by the compiler to create a maximum random number.
- Question 3:
#include <iostream>usingnamespacestd;intmain(){voida = 10, b = 10;intc;c = a + b;cout << c;return0;}chevron_rightfilter_noneOutput:
Compile time error
Explanation: void will not accept any values to its type.
- Question 4:
#include <iostream>usingnamespacestd;intarray1[] = { 1200, 200, 2300, 1230, 1543 };intarray2[] = { 12, 14, 16, 18, 20 };inttemp, result = 0;intmain(){for(temp = 0; temp < 5; temp++) {result += array1[temp];}for(temp = 0; temp < 5; temp++) {result += array2[temp];}cout << result;return0;}chevron_rightfilter_noneOutput:
6553
Explanation: In this program we are adding the every element of two arrays. All the elements of array1[] and array2[] will be added and the sum will be stored in result and hence output is 6553.
- Question 5:
#include <iostream>usingnamespacestd;intmain(){inta = 5, b = 10, c = 15;intarr[3] = { &a;, &b;, &c; };cout << *arr[*arr[1] - 8];return0;}chevron_rightfilter_noneOutput:
Compile time error!
Explanation: The conversion is invalid in this array. The array arr[] is declared to hold integer type value but we are trying to assign references(addresses) to the array so it will arise error. The following compilation error will be raised:
cannot convert from ‘int *’ to ‘int’
- Question 6:
#include <iostream>usingnamespacestd;intmain(){intarray[] = { 10, 20, 30 };cout << -2 [array];return0;}chevron_rightfilter_noneOutput:
-30
Explanation: -2[array]: this statement is equivalent to -(array[2]). At the zero index 30 is stored hence negation of 30 will be printed due to unary operator (-).
- Question 7:
#include <iostream>usingnamespacestd;intmain(){intconstp = 5;cout << ++p;return0;}chevron_rightfilter_noneOutput:
Compile time Error!
Explanation: Constant variables are those whose value can’t be changed throughout the execution. ++p statement try to change the value hence compiler will raise an error.
- Question 8:
#include <iostream>usingnamespacestd;intmain(){chararr[20];inti;for(i = 0; i < 10; i++)*(arr + i) = 65 + i;*(arr + i) ='\0';cout << arr;return(0);}chevron_rightfilter_noneOutput:
ABCDEFGHIJ
Explanation: Each time we are assigning 65 + i. In first iteration i = 0 and 65 is assigned. So it will print from A to J.
- Quesion 9:
#include <iostream>usingnamespacestd;intAdd(intX,intY,intZ){returnX + Y;}doubleAdd(doubleX,doubleY,doubleZ){returnX + Y;}intmain(){cout << Add(5, 6);cout << Add(5.5, 6.6);return0;}chevron_rightfilter_noneOutput:
Compile time error!
Explanation: Here we want to add two element but in the given functions we take 3 argumants.So compiler doesn’t get the reqired function(function with 2 arguments)
- Question 10:
#include <iostream>usingnamespacestd;#define PR(id) cout << "The value of " #id " is " << idintmain(){inti = 10;PR(i);return0;}chevron_rightfilter_noneOutput:
The value of i is 10
Explanation: In this program, we are just printing the declared value through a macro. Carefully observe that in macro there is no semicolon(;) used as a termination statement.
This article is contributed by Avinash Kumar Singh email: avinash.sing.inbox@gmail.com. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

