-5
votes

Comment cette production est-elle venue de ce programme?

Bonjour Pro Coders of Stackoverflow Community, je suis toujours débutant et j'ai besoin d'aide pour comprendre le problème ci-dessous: XXX

Comment et pourquoi est la sortie 40 et 31, merci d'avance < / p>


5 commentaires

Veuillez poster le code comme texte, pas une image de texte et pas un lien vers une image de texte. Il suffit de copier et collez le code ici afin que les autres puissent faire la même chose pour reproduire votre problème.


Aussi, demandant "Pourquoi cette sortie" est-il trop large. Qu'est-ce que vous êtes confus exactement? Que pensez-vous que la sortie soit et pourquoi?


ok merci, je l'ai maintenant. seulement rejoint il y a quelques minutes, pas besoin de me déchirer: p


Je vous recommanderais de lire Comment demander afin que vous puissiez demander de meilleures questions à l'avenir.


En fait des questions sur un programme simple, comme celui-ci pouvant être répondu en utilisant un débogueur pour examiner le flux et les variables de programme, voire en ajoutant printf ("x =% d, y =% d \ n", x, y); au début de la boucle sont considérés comme invalides quand ils sont très évidents de répondre.


3 Réponses :


3
votes

X va commencer à 4 et y à 0. Comme ils ne sont pas égaux, le programme imprimera ces valeurs. La deuxième itération a x à 3 et y à 1. Encore une fois, le programme les imprimera. Sur la troisième itération, X et Y sont 2, et le programme va donc décomposer de la boucle et ne sera pas imprimé.


0 commentaires

1
votes

Pour mieux comprendre pourquoi le programme génère quelque chose que vous ne vous attendiez pas, essayez de trouver la raison en jouant avec Printf et de comprendre chacune de la valeur que vous souhaitez imprimer.

Par exemple, vous pouvez essayer le Suivant: xxx

espère qu'il aide


0 commentaires

0
votes

Votre programme n'imprime que deux fois et boucles trois fois.

sur la première exécution, il imprime 40 parce que x = 4 et y = 0. Ensuite, X diminue (x--) et y incréments Y (Y ++). X est maintenant 3 et y est maintenant 1.

sur la deuxième exécution, il imprime 31 parce que x = 3 et y = 1. Ensuite, X diminue à nouveau (x--) et y augmente à nouveau (Y ++). X est maintenant 2 et y est maintenant 2.

sur la troisième exécution, le programme se casse parce que x = 2 et y = 2.


0 commentaires