C | Arrays | Pregunta 2

Prediga la salida del siguiente programa:

#include <stdio.h>
  
int main()
{
    int arr[5];
    // Assume base address of arr is 2000 and size of integer is 32 bit
    printf("%u %u", arr + 1, &arr + 1);
  
    return 0;
} 

(A) 2004 2020
(B) 2004 2004
(C) 2004 Valor basura
(D) El programa falla al compilar porque el operador Dirección de no se puede usar con el nombre del arreglo

Respuesta: (A)
Explicación: El nombre del arreglo en C da la dirección (excepto en el operador sizeof) del primer elemento. Agregar 1 a esta dirección da la dirección más el tamaño del tipo que tiene la array. Aplicar el operador Dirección-de antes del nombre de la array da la dirección de toda la array. Agregar 1 a esta dirección da la dirección más el tamaño de toda la array .

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *