#include using namespace std; int main() { int a = b = c = 0; cout << a << '*' << b << '*' << c; return 0; }
Output: Compile time error!Förklaring: 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;
Fråga 2 CPP
#include using namespace std; int main() { for ( ; ; ) cout << 'blank'; return 0; }
Output: Infinite Loop!Förklaring: Eftersom initialiseringstestvillkoret och inkrement/minskningsvillkor saknas inuti för loop kommer exekveringen att fångas i oändlig loop.
Fråga 3 CPP
#include using namespace std; int main() { int i; for (i=0; i<3; i++); cout << 'hello!' <<i; return 0; }
Output: hello!3Förklaring: Hej!3 är resultatet eftersom när for loop körs har den ingen uppgift att göra på grund av semikolonet(;) som finns på raden där for loop har definierats. Slingan kommer att köras tre gånger och värdet på i blir 3, sedan kommer resten av satsen att köras.
Fråga 4 CPP
#include using namespace std; int main() { int i; i = 1 + (14563); cout << i; return 0; }
Output: 4Förklaring: Komma-operatorn () är en binär operator som utvärderar den första operanden och kasserar resultatet och sedan utvärderar den andra och sedan returnerar värdet på andra. Här är associativiteten för kommatecken () från vänster till höger och är lätt att förstå att uttrycket (14563) evalueras till 3 och sedan tilldelas resultatet 1 + 3 till i.
Fråga 5 CPP
#include using namespace std; int main() { int a = 0 b; b = (a = 50) + 10; cout << a << '$' << b; return 0; }
Output: 50Förklaring: Påståendet b = (a = 50) + 10; använder konceptet inbäddade uppdrag. Här tilldelas värdet 50 till variabel a och resultatet 50+10 tilldelas b. Fråga 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: 120Förklaring: C++ kan också utföra aritmetiska beräkningar med hänsyn till ASCII-värdena för tecken om den aritmetiska operationen utförs på variabler av char-datatyp. Här i det här fallet är svaret 120 vilket är ASCII-värdet för x.
Fråga 7 CPP
#include using namespace std; int main(int x) { static int i = 5; if (--i) { cout << i; main(10); } return 0; }
Output: 4321Förklaring: Alla tal som inte är noll i C++ behandlas som sant värde. Här i den här koden tenderar if-satsen att minska värdet på i men inuti blocket av if funktionen main() anropas om och om igen. Här verkar programmet vara i oändlig loop men variabeln i är statisk till sin natur, den har sin livslängd tills det körs, så programmet kommer att stanna om i blir 0.
Fråga 8 CPP
#include using namespace std; int main(int x) { int i = 5; if (--i) { cout << i; main(10); } return 0; }
Output: infinite loopFörklaring: Alla tal som inte är noll i C++ behandlas som sant värde. Här i den här koden tenderar if-satsen att minska värdet på i men inne i blocket av if anropas main()-funktionen om och om igen (alla satser kommer nu att köras som om det var ett nytt program) och därför kommer programexekveringen att fångas i en oändlig loop eftersom det inte finns något avslutningsvillkor. Skapa frågesport