Quelqu'un sait pourquoi et comment cela fonctionne? Ce qui va être imprimé [dupliquer]

0

La question

#include <stdio.h>
int main(){
    for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}


Quelqu'un peut-il expliquer comment cela fonctionne? Pourquoi faut-il imprimer 32? Quand j'enlève les freins c'est une boucle infinie et il imprime 12?

c for-loop printf
2021-11-24 01:49:58
2

La meilleure réponse

1

Tout d'abord, printf ("3") est exécutée, de sorte qu'il imprime 3. Alors printf("2") est exécutée, impression 2. Parce que printf()s 'valeur de retour est le nombre de caractères imprimés, qui, dans ce cas, est 1et parce que 1 est une valeur différente de zéro, la boucle continue dans le corps. La première instruction dans le corps est break, un sens à la sortie de la boucle. Si la boucle se termine. De sorte que le résultat à l'écran est 32

2021-11-24 02:22:32
1

printf("3") est appelé lors de la boucle for s'initialise. printf("2") est appelé pour voir si la boucle d'itération doit se terminer.

printf() renvoie le nombre de caractères imprimés, qui est à 1 dans les deux cas, de sorte que la boucle décide de s'exécuter.

Le corps de la boucle est tout simplement breaket la boucle se termine à ce point, et le programme se termine.

2021-11-24 02:17:50

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................