تکه کد زیر را در نظر بگیرید:
#include <iostream> using namespace std; int main() { char c, s[10]; int a[10]; int x, y; int *p, *q; long long m; int n = 10; for (int i=0; i<n; i++) a[i] = i; /* code here! */ return 0; }
قرار است هر کدام از شبهکدهای زیر را در قسمت مشخص شده (/* code here! */) قرار داده و در صورت امکان به جواب برسیم.
در هر مورد خروجی را به همراه توضیح مختصری از روال اجرای برنامه و علت رسیدن به آن جواب، بنویسید. اگر هم برنامه خطای کامپایل یا زمان اجرا دارد، توضیح دهید. توضیح شما (در هر دو حالت اجرا و خطا) نصف نمره را دارد.
x = (~0)/2; y = (~0u)/2; cout << x << endl; cout << y << endl; x = -1u; y = -1u/2; cout << x << endl; cout << y << endl;
x = 13; for (int i=0; i<255; i++) x ^= i; cout << x << endl;
for (c = 0; c < 128; c++) a[c%10] = a[(c%10+1)%10]; cout << a[7] + a[3] << endl;
p = &y; y++; *p = 8; q = &x; x++; x = y; cout << *q << endl;
x = 3; y = a[x + 3] + 3; p = &y; q = &x; y++; x++; for (x=0; x + y <n; x++); n -= a[x]; cout << n << endl;
for (int i=0; i<n; i++) a[i] != !i; cout << a[1 | 2 | 4] << endl;
int d = 0; for (int i=-2; i<=2; i++) for (int j=-2; j<=2; j++) for (char k=-2; k<=2; k++) if (i == j == k) d++; cout << d << endl;
x = 9; do { y = 0; do { y = y + 1 + (x-y)/2; a[y]++; } while (y < x); x--; } while (x); c = a[0] + a[1] + a[2] + a[4] + a[8]; cout << (int)c << endl;