#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!3Forklaring: 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 + (14563); cout << i; return 0; }
Output: 4Forklaring: 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: 50Forklaring: 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: 120Forklaring: 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: 4321Forklaring: 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 loopForklaring: 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