es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué el uso de paréntesis hace que un arreglo multidimensional se comporte de esta manera?

Por error, cubrí los números con estas características en lugar de los corchetes habituales y obtuve “2 4 0 0”. ¿Por qué ocurre este desplazamiento?

“`
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void)
{
int a[2][2]={(1,2),(3,4)};
for (int i = 0; i < 2; ++i)
{
/* código <em>/
for (int j = 0; j < 2; ++j)
{
/</em> código */
printf("%d ",a[i][j] );
}
}
return 0;
}
“`</string.h></stdlib.h></stdio.h>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El desplazamiento ocurre porque el operador de coma en C evalúa las expresiones separadas por él de izquierda a derecha y devuelve el valor de la última expresión. En el ejemplo dado, solo se almacena el segundo valor de cada par separado por coma como valor de inicialización para el array multidimensional. Por lo tanto, la salida muestra solo los segundos valores, que son 2 y 4 respectivamente, y los primeros valores no se incluyen en la inicialización. Al utilizar llaves en lugar de paréntesis, se podrían proporcionar los valores de inicialización correctos para el array.

Comments are closed.