Qualcuno sa perché e come funziona? Ciò che verrà stampato [duplica]

0

Domanda

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


Qualcuno può spiegare come funziona? Perché non stampare 32? Quando tolgo il freno è in loop infinito e stampa 12?

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

Migliore risposta

1

Prima, printf ("3") viene eseguito, in modo da stampa 3. Quindi printf("2") viene eseguita la stampa 2. Perché printf()'s valore restituito è il numero di caratteri di stampa, che in questo caso, è 1e perché 1 è un valore diverso da zero, il ciclo continua nel corpo. La prima istruzione del corpo è breaksignifica uscire dal loop. Così termina il ciclo. Così il risultato sullo schermo è 32

2021-11-24 02:22:32
1

printf("3") viene chiamato quando il ciclo si inizializza. printf("2") è chiamato per vedere se il ciclo deve terminare.

printf() restituisce il numero di caratteri di stampa, che è 1 in entrambi i casi, in modo che il ciclo decide di eseguire.

Il corpo del ciclo è semplicemente breakcosì termina il ciclo, a quel punto, e il programma termina.

2021-11-24 02:17:50

In altre lingue

Questa pagina è in altre lingue

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