Una pregunta sobre lenguaje C: ¿por qué el resultado en tiempo de ejecución es 16?
En el bucle, cuando igt;7, el bucle termina, s se obtiene sumando i, i aumenta de 0 a 7 como máximo, hasta 0 1 2 3 4 5 6 7=28, uno Al mirarlo puedes saber que no serán más de 50. ¿Cómo podría ser exactamente 149?
El resultado de ejecución 16 es correcto, s=1 3 5 7=16.
Al principio i=s=0, entonces la declaración if es un juicio restante, i= 0; i2 = 0, el primer número es el resto de 0 dividido por 2 y el resultado es 0. No hay problema si 0 se divide por cualquier número, el cociente es 0 y el resto es naturalmente 0. Entonces es. Es natural omitir la siguiente expresión if. En la expresión de la declaración, al hacer i, s = i; 1 bien no se ha agregado después de que i termina, entonces i = 1 bien, s = i, es decir, s = s i bien, entonces s = 1 bien, no hay problema. entonces i es menor que 7 pozos, así que continúe haciendo pozos, la segunda declaración if, el pozo restante de i2, 1/2, el cociente es 0, el pozo restante, por lo que el resultado es el pozo 1 de i2. El ciclo siguiente, i bueno, en este momento i = 2 Bien, sigamos haciéndolo. Naturalmente, omitimos el siguiente i, s = i. Bien, entonces s sigue siendo 1 y luego i sigue siendo menor que 7. Está bien. , continuemos haciéndolo por tercera vez. En este momento i = 2 Bien, el resultado i2 es 0 Bien, si no se hace la siguiente declaración, haga lo siguiente i Bien, ahora i se convierte en 3. Bien, s = i. ; el frente de s es 1, entonces cuando i es 3, s = 1 3 = 4, es lo mismo más adelante, así que no entraré en detalles.
Luego, al final, se agregan números alternos, por lo que s=1 3 5 7. Cuando i=7, ilt aún no está satisfecho con 7, simplemente salga del ciclo directamente, s=16. Todas sus fórmulas son sumas y no existe una fórmula de multiplicación. La i máxima está limitada a 7. ¿Cómo puede haber un número tan grande como 149? Debe haber leído el bucle y, si el juicio es incorrecto, es normal para los principiantes. Pero después de leer el libro completo, no deberías hacer una pregunta tan simple. Cuando la computadora y tu presupuesto son diferentes, ¡debe ser que la lógica de tu programa es diferente de tu propia lógica de pensamiento! Hay otra forma de encontrar el problema calculando de acuerdo con la sintaxis de la lógica del programa. Esto es simple, por lo que debes depurarlo tú mismo. En realidad, es muy fácil de solucionar.