Q:

C++ Arrays | Find output programs | Set 3

belongs to collection: C++ find output programs

0

This section contains the C++ find output programs with their explanations on C++ Arrays (set 3).

Program 1:

#include <iostream>
using namespace std;

int main()
{
    int A[5] = { 10, 20, 30, 40, 50 };
    int V = 0;
    int* PTR;

    PTR = A;

    PTR++;

    V = PTR[0] + PTR[2] + PTR[4];

    cout << V;

    return 0;
}

Program 2:

#include <iostream>
using namespace std;

int main()
{
    int A[5] = { 10, 20, 30, 40, 50 };
    int V = 0;
    int* PTR = A + 2;

    V = PTR[0] + PTR[2];

    cout << V;

    return 0;
}

Program 3:

#include <iostream>
using namespace std;

int main()
{
    char A[5] = { 'H', 'E', 'L', 'L', 'O' };

    cout << A[1] - 0x30 << A[2] - 0x30 << A[4] - 0x30;

    return 0;
}

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer Program 1:

Output:

32825

Explanation:

Here, we created and initialized an array with 5 elements. And created a pointer that is pointing to the array.

PTR ++;

Here we moved the pointer to 1 position ahead. It means now PTR is a pointer to arr[1].

Evaluate the expression,

V = PTR[0]+PTR[2]+PTR[4];

In the above expression, we are accessing elements out of bounds of the array using PTR[4], the pointer is pointing at index 5 in the array that does not exist in the array. So here the garbage value will be calculated in the expression, and then the final output will be a garbage value.

Answer Program 2:

Output:

80

Explanation:

Here, we created an array with 5 integer elements. And created a pointer PTR and assigned with (A+2).

A contains the address of the 1st element of the array and (A+2) represents the address of the 3rd element. It means pointer PTR is pointing to the element at index 2.

Evaluate the expression,

V = PTR[0]+PTR[2];
V = 30 + 50;
V = 80;

Then the final value of V is 80.

Answer Program 3:

Output:

212831

Explanation:

Here, we create a character array and initialized with character values. Now look to the cout statement.

A[1] = 'E';  the ASCII value of 'E' is 69 and decimal value of 0x30 is 48.

69 - 48 = 21 then it will print 21.

Like that other values are also calculated then the final output is "212831".

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C++ find output programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C++ Arrays | Find output programs | Set 4... >>
<< C++ Arrays | Find output programs | Set 2...