Output af C++ programmer | Sæt 22

Forudsige outputtet af følgende C++-programmer. Spørgsmål 1 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     b     =     c     =     0  ;      cout      < <     a      < <     '*'      < <     b      < <     '*'      < <     c  ;      return     0  ;   }   
Output:
Compile time error!  
Forklaring: A chained statement cannot be used to initialize variables at the time of declaration. Hence the statement a = b = c = 0; is an illegal statement. However following way a legal syntax and can be used in C++ or C.
int abc; a = b = c = 0;  

Spørgsmål 2 CPP
   #include          using     namespace     std  ;   int     main  ()   {      for     (     ;     ;     )     cout      < <     'blank'  ;      return     0  ;   }   
Output:
Infinite Loop!  
Forklaring: Da initialiseringstestbetingelsen og inkrementering/reduktionstilstanden mangler inde for loop, vil udførelsen blive fanget i uendelig loop.
Spørgsmål 3 CPP
   #include          using     namespace     std  ;   int     main  ()   {         int     i  ;      for     (  i  =  0  ;     i   <  3  ;     i  ++  );          cout      < <     'hello!'      < <  i  ;      return     0  ;   }   
Output:
hello!3  
Forklaring: Hej!3 er resultatet, fordi når for loop udføres, har det ikke nogen opgave at udføre på grund af semikolon(;) til stede på linjen, hvor for loop er blevet defineret. Løkken udføres tre gange, og værdien af ​​i bliver 3, hvorefter resten af ​​sætningen/sætningerne udføres.
Spørgsmål 4 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     i  ;      i     =     1     +     (  1    4    5    6    3  );      cout      < <     i  ;      return     0  ;   }   
Output:
4  
Forklaring: Komma () operatoren er en binær operator, der evaluerer den første operand og kasserer resultatet og derefter evaluerer den anden og returnerer derefter værdien af ​​anden. Her er associativiteten af ​​kommaoperatoren () fra venstre mod højre og er let at forstå, at udtrykket(14563) vurderes til at være 3, og resultatet 1 + 3 tildeles i.
Spørgsmål 5 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     0       b  ;      b     =     (  a     =     50  )     +     10  ;      cout      < <     a      < <     '$'      < <     b  ;      return     0  ;   }   
Output:
50  
Forklaring: Udsagnet b = (a = 50) + 10; bruger begrebet indlejret opgave. Her tildeles værdien 50 til variabel a, og resultatet 50+10 tildeles b. Spørgsmål 6 CPP
   #include       using     namespace     std  ;   int     main  ()   {      char     a     =     30       b     =     40       c     =     10  ;      char     d     =     (  a  *  b  )  /  c  ;      cout      < <     int  (  d  );      return     0  ;   }   
Output:
120  
Forklaring: C++ kan også udføre aritmetiske beregninger under hensyntagen til ASCII-værdierne af tegn, hvis den aritmetiske operation udføres på variabler af char-datatype. Her i dette tilfælde er svaret 120, som er ASCII-værdien for x.
Spørgsmål 7 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      static     int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
4321  
Forklaring: Ethvert ikke-nul tal i C++ behandles som sand værdi. Her i denne kode har if-sætningen en tendens til at mindske værdien af ​​i, men inde i blokken af ​​if funktionen main() kaldes igen og igen. Her ser programmet ud til at være i uendelig løkke, men variablen i er statisk af natur, den har sin levetid indtil udførelse, og derfor stopper programmet, hvis i bliver 0.
Spørgsmål 8 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
infinite loop  
Forklaring: Ethvert ikke-nul tal i C++ behandles som sand værdi. Her i denne kode har if-sætningen en tendens til at mindske værdien af ​​i, men inde i blokken af ​​if main()-funktionen kaldes igen og igen (alle sætningerne vil nu udføres, som om det er et nyt program), derfor vil programafviklingen blive fanget i uendelig løkke, da der ikke er nogen termineringsbetingelse. Opret quiz