Prediga la salida de los siguientes programas en C.
Pregunta 1
#include <stdio.h> int main() { int arr[] = {}; printf("%d", sizeof(arr)); return 0; }
Salida: 0
C (o C++) permite arrays de tamaño 0. Cuando se declara una array con una lista de inicialización vacía, el tamaño de la array se convierte en 0.
Pregunta 2
#include<stdio.h> int main() { int i, j; int arr[4][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; for(i = 0; i < 4; i++) for(j = 0; j < 4; j++) printf("%d ", j[i[arr]] ); printf("\n"); for(i = 0; i < 4; i++) for(j = 0; j < 4; j++) printf("%d ", i[j[arr]] ); return 0; }
Producción:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
Se accede a los elementos de la array mediante la aritmética de punteros. Entonces, el significado de arr[i][j] y j[i[arr]] es el mismo. Ambos significan (arr + 4*i + j). De manera similar, el significado de arr[j][i] e i[j[arr]] es el mismo.
Pregunta 3
#include<stdio.h> int main() { int a[2][3] = {2,1,3,2,3,4}; printf("Using pointer notations:\n"); printf("%d %d %d\n", *(*(a+0)+0), *(*(a+0)+1), *(*(a+0)+2)); printf("Using mixed notations:\n"); printf("%d %d %d\n", *(a[1]+0), *(a[1]+1), *(a[1]+2)); return 0; }
Producción:
Using pointer notations: 2 1 3 Using mixed notations: 2 3 4
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
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