Nevíte někdo proč a jak to funguje? Co se bude tisknout [duplicitní]

0

Otázka

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


Může někdo vysvětlit, jak to funguje? Proč to tisknout 32? Když jsem odmontovat brzdy, je to nekonečné smyčky a tiskne 12?

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

Nejlepší odpověď

1

První, printf ("3") je popraven, tak to tiskne 3. Pak printf("2") je popraven, tisk 2. Protože printf()'s návratovou hodnotou je počet znaků tiskne, který je v tomto případě, je 1a protože 1 je nenulová hodnota, smyčka pokračuje v těle. První příkaz v těle, je break, což znamená k ukončení smyčky. Takže smyčka se ukončí. Takže výsledek na obrazovce je 32

2021-11-24 02:22:32
1

printf("3") je volána, když pro smyčce inicializuje. printf("2") je volala, jestli smyčky iterace by měl ukončit.

printf() vrátí počet znaků tiskne, což je 1 v obou případech, takže smyčka se rozhodne vykonat.

Tělo cyklu je prostě break,, takže smyčka ukončí v tomto bodě, a program končí.

2021-11-24 02:17:50

V jiných jazycích

Tato stránka je v jiných jazycích

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