कई printf के लिए-पाश के भाग के रूप में आरंभीकरण, हालत और अद्यतन

0

सवाल

सकता है किसी को भी समझाने के लिए क्यों मुझे यह प्रिंट 32 और समग्र अवधारणा की यह कैसे काम करता है?

#include <stdio.h>

int main()
{
    int a=1;
    for (printf ("3"); printf ("2"); printf ("1"))

    return 0;
}
c loops printf
2021-11-23 21:56:07
2

सबसे अच्छा जवाब

8

उचित खरोज बनाने के लिए होगा यह स्पष्ट:

#include <stdio.h>

int main()
{
    int a=1;
    for (printf ("3"); printf ("2"); printf ("1"))
        return 0;
}

तो निम्न होता है:

  • a प्रारंभ करने के लिए 1. मैं नहीं जानता कि क्यों इस चर मौजूद है, के बाद से यह कभी नहीं इस्तेमाल किया.
  • for कार्यान्वित इसके प्रारंभ के बयान, printf("3");. इस प्रिंट 3.
  • for का मूल्यांकन करता है इसकी पुनरावृत्ति हालत, printf("2"). इस प्रिंट 2 और वर्णों की संख्या देता है कि मुद्रित किया गया है, जो 1.
  • के बाद से हालत है truthy, यह शरीर में चला जाता है के पाश ।
  • शरीर कार्यान्वित return 0;. इस रिटर्न से main()इस प्रकार , समाप्त पाश.

के बाद से पाश समाप्त होता है, हम कभी नहीं का मूल्यांकन करता है, अद्यतन अभिव्यक्ति, printf("1"), तो यह कभी नहीं प्रिंट 1. और हम कोई पुनरावृत्ति का कुछ भी.

2021-11-23 22:04:34
0

कि आप जानते हैं, एक कार्यक्रम चलाने के लिए शुरू होता बाएं से '{' के समारोह मुख्य(), अंत में सही '}' के समारोह मुख्य(), अगर वहाँ है कोई अंतहीन पाश है.

के रूप में अपने कोड से पता चलता है, अपने कठिनाई को समझने के लिए है फ़्लोचार्ट के पाश के लिए सी भाषा में.

के रूप में आप देख सकते हैं, वाक्य रचना के लिए पाश है:
for (initializationStatement; testExpression; updateStatement)
{
    // statements inside the body of loop
    for loop body;
}
कैसे पाश के लिए काम करता है?

1.प्रारंभ के बयान मार डाला है केवल एक बार.

2.फिर, परीक्षण अभिव्यक्ति का मूल्यांकन किया है । यदि परीक्षण अभिव्यक्ति का मूल्यांकन करने के लिए गलत है, के लिए लूप समाप्त होता है.

3.हालांकि, अगर परीक्षण अभिव्यक्ति का मूल्यांकन करने के लिए सच है, बयानों के शरीर के अंदर पाश के लिए क्रियान्वित कर रहे हैं, और अद्यतन अभिव्यक्ति अद्यतन किया जाता है.

4.फिर से परीक्षण अभिव्यक्ति का मूल्यांकन किया है ।

इस प्रक्रिया पर चला जाता है जब तक परीक्षण अभिव्यक्ति गलत है । जब परीक्षण अभिव्यक्ति झूठी है, पाश समाप्त हो जाता है.

तो, पाश के लिए फ़्लोचार्ट

enter image description here

सबसे पहले, अपने कोड का एक उदाहरण के रूप में:
#include <stdio.h>
int main(){
    for (printf ("3"); printf("2"); printf("1")) break;
    return 0;
}
आउटपुट
32

1.आरंभीकरण "printf ("3")", तो, प्रिंट:

3

2.परीक्षण अभिव्यक्ति "printf("2")", कि हमेशा सच है, तो प्रिंट:

2

3.के लिए शरीर के पाश "break", इसका मतलब है कि समाप्त होने के निष्पादन के लिए पाश,

पर अमल नहीं करते हैं अद्यतन अभिव्यक्ति "printf("1")"

इसके अलावा, कार्यक्रम से बाहर कूद पाश के लिए, और कूद करने के लिए "return 0;",

तो, अंत में निष्पादन के इस कार्यक्रम.

तो, आउटपुट है

32
दूसरी बात, अपने कोड बदल दिया एक उदाहरण के रूप में:
#include <stdio.h>
int main(){
    for (printf ("3"); printf("2"); printf("1")) ;
    return 0;
}
आउटपुट
321212121212121212...121212...1212...

इसी तरह,

1.आरंभीकरण "printf ("3")", तो, प्रिंट:

3

2.परीक्षण अभिव्यक्ति "printf("2")", कि हमेशा सच है, तो प्रिंट:

2

3.शरीर के लिए पाश "`"खाली है, तो कुछ भी नहीं है । गोटो अद्यतन अभिव्यक्ति

"printf("1")"

4.अद्यतन अभिव्यक्ति "printf("1")", तो, प्रिंट

1

5.फिर, गोटो परीक्षण अभिव्यक्ति "printf("2")", कि है "2.परीक्षण

अभिव्यक्ति "printf("2")", कि हमेशा सच है, तो प्रिंट".क्योंकि

शरीर के पाश है "`"खाली है, तो हमेशा गोटो से अद्यतन

अभिव्यक्ति "printf("1")" परीक्षण करने के लिए अभिव्यक्ति "printf("2")",

यही कारण है कि मुद्रण के बाद "32"कि समारोह प्रिंट अनंत लूप

"12".और, कि समारोह के अंत कभी नहीं बंद करो मुद्रण "12"जब तक आप

कि बंद करो समारोह है ।

तो, तो, तो उत्पादन है

32121212...121212...121212...
तीसरा, अपने हाल ही में बदल गया कोड एक उदाहरण के रूप में:
#include <stdio.h>

int main()
{
    int a=1;
    for (printf ("3"); printf ("2"); printf ("1")) 

    return 0;
}
आउटपुट
32

1.कार्यक्रम चलाने के लिए शुरू होता बाएं से '{' के समारोह मुख्य(),

यही कारण है कि प्रारंभ के बयान के अस्थायी चर

"int a=1;".

उस बयान को परिभाषित करता है एक "int"टाइप अस्थायी चर "a", और

सेट करने के लिए अपने मूल्य "1"है, लेकिन है कि प्रिंट कुछ भी नहीं है!

2.तो, कार्यक्रम गोटो पाश के लिए.

3.प्रारंभिक वक्तव्य है "printf ("3")", तो, प्रिंट

"3",और

गोटो परीक्षण अभिव्यक्ति है ।

3

4.परीक्षण अभिव्यक्ति "printf("2")", कि हमेशा सच है, तो

प्रिंट "2", और गोटो पाश के लिए शरीर की अभिव्यक्ति है ।

2

5.पाश के लिए शरीर अभिव्यक्ति "return 0", अभिव्यक्ति

"return 0"वापसी '0'करने के लिए समारोह मुख्य(),और अंत में

निष्पादन की मुख्य(), लेकिन कुछ भी नहीं मुद्रित.

तो, आउटपुट है:

32
अंत । धन्यवाद!
2021-11-24 07:01:53

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

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

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में