Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
valor de matriz en un índice para el que no se ha definido el valor

en este código:

 #include <stdio.h> int main(void) { int a[2][3] = {{1,2},{4,5,6}}; printf("%d\n",a[0][2]); return 0; }

El resultado es 0 : dado que la matriz no se inicializó, ¿este resultado es el resultado de algún comportamiento indefinido?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

La matriz se inicializó. Está definiendo una matriz bidimensional que consta de dos matrices de tres enteros cada una. Para el primero de estos dos, solo proporciona dos valores y, de forma predeterminada, el que falta se inicializa como cero, por lo que su matriz completa es {{1, 2, 0}, {4, 5, 6}. a[0][2] te dará ese cero.

over 4 years ago · Santiago Trujillo Denunciar

0

Del Estándar C (6.7.9 Inicialización)

19 La inicialización debe ocurrir en el orden de la lista de inicializadores, cada inicializador provisto para un subobjeto en particular anula cualquier inicializador enumerado anteriormente para el mismo subobjeto; 151) todos los subobjetos que no se inicializan explícitamente se inicializarán implícitamente al igual que los objetos que tienen una duración de almacenamiento estático .

y

10 Si un objeto que tiene duración de almacenamiento automático no se inicializa explícitamente, su valor es indeterminado. Si un objeto que tiene una duración de almacenamiento estático o de subprocesos no se inicializa explícitamente, entonces:

— si es de tipo aritmético, se inicializa a cero (positivo o sin signo);

De hecho, esta declaración

 int a[2][3] = {{1,2},{4,5,6}};

es equivalente a

 int a[2][3] = {{1,2, 0},{4,5,6}};
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda