Output of C++ programs | Set 50
Last Updated :
07 Jul, 2021
Predict the output of the following C++ programs:
CPP
#include <iostream>
using namespace std;
int main()
{
void a = 10, b = 10;
int c;
c = a + b;
cout << c;
return 0;
}
|
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:
CPP
#include <iostream>
using namespace std;
int array1[] = { 1200, 200, 2300, 1230, 1543 };
int array2[] = { 12, 14, 16, 18, 20 };
int temp, result = 0;
int main()
{
for (temp = 0; temp < 5; temp++) {
result += array1[temp];
}
for (temp = 0; temp < 5; temp++) {
result += array2[temp];
}
cout << result;
return 0;
}
|
2147483647
- Explanation: The output is Compiler Dependent. RAND_MAX is a function used by the compiler to create a maximum random number.
- Question 3:
CPP
#include <iostream>
using namespace std;
int main()
{
int a = 5, b = 10, c = 15;
int arr[3] = { &a, &b, &c };
cout << *arr[*arr[1] - 8];
return 0;
}
|
Compile time error
- Explanation: void will not accept any values to its type.
- Question 4:
CPP
#include <iostream>
using namespace std;
int main()
{
int array[] = { 10, 20, 30 };
cout << -2 [array];
return 0;
}
|
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:
CPP
#include <iostream>
using namespace std;
int main()
{
int const p = 5;
cout << ++p;
return 0;
}
|
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’
CPP
#include <iostream>
using namespace std;
int main()
{
char arr[20];
int i;
for (i = 0; i < 10; i++)
*(arr + i) = 65 + i;
*(arr + i) = '\0' ;
cout << arr;
return (0);
}
|
-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:
CPP
#include <iostream>
using namespace std;
int Add( int X, int Y, int Z)
{
return X + Y;
}
double Add( double X, double Y, double Z)
{
return X + Y;
}
int main()
{
cout << Add(5, 6);
cout << Add(5.5, 6.6);
return 0;
}
|
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:
CPP
#include <iostream>
using namespace std;
#define PR(id) cout << "The value of " #id " is " << id
int main()
{
int i = 10;
PR(i);
return 0;
}
|
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.
- Question 9:
Compile time error!
- Explanation: Here we want to add two element but in the given functions we take 3 arguments.So compiler doesn’t get the required function(function with 2 arguments)
- Question 10:
CPP
#include <iostream>
using namespace std;
#define PR(id) cout << "The value of " #id " is " << id
int main()
{
int i = 10;
PR(i);
return 0;
}
|
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.
sing.inbox@gmail.com.
Share your thoughts in the comments
Please Login to comment...