#include using namespace std; int main() { int a = b = c = 0; cout << a << '*' << b << '*' << c; return 0; }
Output: Compile time error!Vysvetlenie: 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;
Otázka 2 CPP
#include using namespace std; int main() { for ( ; ; ) cout << 'blank'; return 0; }
Output: Infinite Loop!Vysvetlenie: Keďže v slučke for chýba podmienka inicializačného testu a podmienka zvýšenia/zníženia, vykonávanie bude zachytené v nekonečnej slučke.
Otázka 3 CPP
#include using namespace std; int main() { int i; for (i=0; i<3; i++); cout << 'hello!' <<i; return 0; }
Output: hello!3Vysvetlenie: Hello!3 je výsledok, pretože keď sa vykoná cyklus for, nemá žiadnu úlohu kvôli bodkočiarke(;) v riadku, kde bola definovaná slučka for. Cyklus sa vykoná trikrát a hodnota i bude 3, potom sa vykoná zvyšok príkazu (príkazov).
Otázka 4 CPP
#include using namespace std; int main() { int i; i = 1 + (14563); cout << i; return 0; }
Output: 4Vysvetlenie: Operátor čiarka () je binárny operátor, ktorý vyhodnotí prvý operand a zahodí výsledok a potom vyhodnotí druhý a potom vráti hodnotu druhého. Tu je asociativita operátora čiarka () zľava doprava a je ľahké pochopiť, že výraz (14563) sa vyhodnotí ako 3 a potom sa výsledok 1 + 3 priradí k i.
Otázka 5 CPP
#include using namespace std; int main() { int a = 0 b; b = (a = 50) + 10; cout << a << '$' << b; return 0; }
Output: 50Vysvetlenie: Výrok b = (a = 50) + 10; používa koncept vnoreného priradenia. Tu je hodnota 50 priradená premennej a a výsledok 50+10 je priradený b. Otázka 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: 120Vysvetlenie: C++ môže tiež vykonávať aritmetické výpočty so zreteľom na hodnoty ASCII znakov, ak sa aritmetické operácie vykonávajú s premennými dátového typu char. V tomto prípade je odpoveď 120, čo je hodnota ASCII pre x.
Otázka 7 CPP
#include using namespace std; int main(int x) { static int i = 5; if (--i) { cout << i; main(10); } return 0; }
Output: 4321Vysvetlenie: Akékoľvek nenulové číslo v C++ sa považuje za skutočnú hodnotu. Tu v tomto kóde má príkaz if tendenciu znižovať hodnotu i, ale vo vnútri bloku if sa funkcia main() volá znova a znova. Tu sa program zdá byť v nekonečnej slučke, ale premenná i je svojou povahou statická, má svoju životnosť až do vykonania, preto sa program zastaví, ak sa i stane 0.
Otázka 8 CPP
#include using namespace std; int main(int x) { int i = 5; if (--i) { cout << i; main(10); } return 0; }
Output: infinite loopVysvetlenie: Akékoľvek nenulové číslo v C++ sa považuje za skutočnú hodnotu. Tu v tomto kóde má príkaz if tendenciu znižovať hodnotu i, ale vo vnútri bloku if sa funkcia main() volá znova a znova (všetky príkazy sa teraz vykonajú, ako keby to bol nový program), takže vykonávanie programu bude zachytené v nekonečnej slučke, pretože neexistuje žiadna podmienka ukončenia. Vytvoriť kvíz