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é no se imprimen todos los valores del array en C#?

¿Por qué si almaceno los valores del arreglo en las variables “temp1” y “temp2”, la consola solo imprime los valores 2, 2 y 4?

static void Main(string[] args)
{
    //Declaración de arreglos solicitados.
    double[] array6 = { 3, 2, 1, 2, 3, 4, 3 }; // true

    //Imprimimos resultado de función "mismaDiferencia".
    func1(array6);
}


static void func1(double[] arr)
{
    double temp1 = 0;
    double temp2 = 0;

    for (int i = 0; i < arr.Length - 1; i++)
    {
        temp1 = arr[i];
        temp2 = arr[i++];

        Console.WriteLine($"Contienes: {arr[i]}");
    }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    La razón por la cual la consola sólo imprime los valores 2, 2 y 4 es debido a la línea temp2 = arr[i++]. El operador ++ incrementa el valor de i en 1 después de asignar el valor actual de arr[i] a temp2. Por lo tanto, en la primera iteración del ciclo, temp1 obtiene el valor de arr[0], mientras temp2 obtiene el valor de arr[1], y la consola imprime Contienes: 2. En la siguiente iteración, temp1 obtiene el valor de arr[2], mientras temp2 obtiene el valor de arr[3], y la consola imprime Contienes: 2. Finalmente, en la última iteración, temp1 obtiene el valor de arr[5], mientras temp2 obtiene el valor de arr[6], y la consola imprime Contienes: 4. Por lo tanto, sólo se imprimen los valores 2, 2 y 4 en la consola.

Comments are closed.