Stie cineva de ce și cum funcționează? Ceea ce va fi imprimat [duplicat]

0

Problema

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


Poate cineva să explice cum funcționează acest lucru? De ce nu-l imprima 32? Când am elimina frână este infinit buclă și se imprimă 12?

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

Cel mai bun răspuns

1

În primul rând, printf ("3") este executat, astfel încât amprentele 3. Apoi printf("2") este executat, de imprimare 2. Pentru că printf()modelului valoare returnată este numărul de caracter se imprimă, care, în acest caz, este 1și pentru că 1 este o valoare diferită de zero, bucla continuă în organism. Prima declarație în organism este break, sensul de ieșire din bucla. Deci bucla se termină. Deci rezultatul pe ecran este 32

2021-11-24 02:22:32
1

printf("3") este numit atunci când pentru bucla inițializează. printf("2") este numit pentru a vedea dacă bucla repetare ar trebui să înceteze.

printf() returnează numărul de caractere pe care se imprimă, care este de 1, în ambele cazuri, deci bucla decide pentru a executa.

Corpul buclei este pur și simplu break, astfel încât bucla se termină în acel moment, și programul se termină.

2021-11-24 02:17:50

În alte limbi

Această pagină este în alte limbi

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