You are taking quiz cppquiz.org/q/nb5gc. After 0 of 10 questions, you have 0.00 points.

Question #186 Difficulty: 2

According to the C++17 standard, what is the output of this program?

    #include <iostream>
#include <typeinfo>

void takes_pointer(int* pointer) {
  if (typeid(pointer) == typeid(int[])) std::cout << 'a';
  if (typeid(pointer) == typeid(int*)) std::cout << 'p';
}

void takes_array(int array[]) {
  if (typeid(array) == typeid(int[])) std::cout << 'a';
  if (typeid(array) == typeid(int*)) std::cout << 'p';
}

int main() {
  int* pointer = nullptr;
  int array[1];

  takes_pointer(array);
  takes_array(pointer);

  std::cout << (typeid(int*) == typeid(int[]));
}

Answer:

Want a hint? (It will reduce the max score for this question from 1 to 0.5)

Mode : Quiz

If you want to quit the current quiz and go back to training mode, click here.