Cómo razona el compilador?
Publicado por anonymous (6 intervenciones) el 16/05/2018 18:09:35
Hola gente, tengo a mano un código muy simple, pero no entiendo como razona el compilador aquí. Para mi punto de vista M[0][0] debería mostrarme el 0, ya que se cumplen los dos ciclos "for" con k y n empezando de 0 y deteniéndose en 1. Ya que con 2 se corta. Evidentemente estoy razonando mal, dado que cuando Ejecuto la compilación, el resultado es 1 y no 0. Creo que el tema corresponde a arreglos unidimensionales/bidimensionales.
Desde ya agradezco alguna orientación.
Resultado: 1.
Desde ya agradezco alguna orientación.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
int main ()
{
double M[][3] = {0,1,2,3,4,5,6,7,8};
for(int k=0; k<2; k++)
for(int n=0; n<2; n++)
M[k][n] = k+n;
for(int k=0; k<2; k++)
for(int n=0; n<2; n++)
M[k][k] = M[k][n];
cout << M[0][0];
}
Resultado: 1.
Valora esta pregunta
0