C | Puntero avanzado | Pregunta 10

Salida del siguiente programa

#include <stdio.h>
int fun(int arr[]) {
   arr = arr+1;    
   printf("%d ", arr[0]);
}
int main(void) {
   int arr[2] = {10, 20};
   fun(arr);
   printf("%d", arr[0]);
   return 0;
}

(A) Error del compilador
(B) 20 10
(C) 20 20
(D) 10 10

Respuesta: (B)
Explicación: en C, los parámetros de array se tratan como punteros (consulte https://www.geeksforgeeks.org/why- c-trata-array-parameters-as-pointers/ para más detalles).

Entonces, la variable arr representa una array en main(), pero un puntero en fun().
Cuestionario de esta pregunta

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 *