Extending expressive power: pointers, functions, and memory CPPE1 M3 Test
-
What is the output of the following snippet?
#include <iostream> #include <string> using namespace std; string fun(string &t, string s = "", int r = 1) { while(--r) s += s; t = t + s; return s; } int main() { string name = "x"; cout << fun(name, name); cout << name; }
xx
x
- xxxx
xxx
-
What is the output of the following snippet?
#include <iostream> using namespace std; int fun(int a, int b) { return a + b; } int fun(int a, char b) { return b - a; } int fun(float a, float b) { return a * b; } int main() { cout << fun(1,0) << fun('a','c') << fun(2.f.2.f); }
481
012
248
124
-
What is the output of the following snippet?
#include <iostream> using namespace std; int fun(int p1 = 1, int p2 = 1) { return p2 + p1; } int main() { cout << fun(fun(), fun(2)); }
4
5
8
3
-
What is the output of the following snippet?
#include <iostream> using namespace std; int fun(long a) { return a / a; } int fun(int a) { return 2 * a; } int fun(double a = 3.0) { return a; } int main() { cout << fun(10000000000L) << fun (IL) << fun(1.f); }
444
333
222
111
-
What is the output of the following snippet?
#include <iostream> using namespace std; int fun(float a, float b) { return a / b; } int main() { cout << fun(fun(1., 2.),fun(2., 1.)); }
1
0
-1
2
-
What is the output of the following snippet?
#include <iostream> #include <vector> using namespace std; int fun(int* t) { t[0] += t[1]; return t[0]; } int main() { vector<int> t = { 5,6,7 }; cout << fun(&t[1]); cout << t[0]; }
116
56
135
115
-
What is the output of the following snippet?
#include <iostream> using namespace std; int main() { vector<float> f(20; float *p1 = f.data(), *p2 = p1 + 1; cout << (p2 - p1) / sizeof(float); }
0
1
2
3
-
What is the output of the following snippet?
#include <iostream> #include <vector> using namespace std; int f1(int *a) { return *a + 1; } int *f2(int*a) { return &a = 1; } int *f3(int &a) { return &a + 1; } int main() { vector<int> t = {0, 1, 2, 3}; cout << f1(f3(*f2(t.data()))); }
1
2
3
0
-
What is the output of the following snippet?
#include <iostream> using namespace std; int main() { int *val = new int; *val = sizeof(var) / sizeof(int *); int *tab = new int[*val]; tab[0] = *val; delete val; cout << *tab; delete [] tab; }
2
4
0
1
-
What is the output of the following snippet?
#include <iostream> #include <vecotr> using namespace std; int main() { vector<int> t = { 3, 2, 1 }; int *ptr = t.data() + 1; (*(ptr + 1))++; (*(ptr - 1))++; cout << t[0] << t[1] << t[2]; }
321
422
123
333
-
What is the output of the following snippet?
#include <iostream> using namespace std; int *make(int v) { int *p = new int; *p = v + 1; return p; } int *play(int &v) { cout << ++v; return &v; } void remove(int *v) { delete v; } int main() { remove(play(*make(3))); }
5
4
2
3
-
What is the output of the following snippet?
#include <iostream> using namespace std; float fun(float arg) { return arg * arg + arg + 1; } int main() { cout << fun(fun(1.)); }
13
7
16
10
-
What is the output of the following snippet?
#include <iostream> using namespace std; int main() { vector<int> tab = { 1, 2, 4 }; int *p1 = &tab[0], *p2 = p1 + 2; tab[1] = p2[-1] + *p1; cout << tab[1]; }
4
3
5
2
-
What is the output of the following snippet?
using namespace std; float Float(float x) { return 2 * x / (.5 * x); } void Void(int n) { float v = n; v = Float(v); cout << v; } int main() { Void(1); }
10
8
4
6
-
What is the output of the following snippet?
#include <iostream> using namespace std; int f1(int *a) { return *a; } int *f2(int *a) { return a; } int *f3(int &a) { return a; } int main() { int value = 2; cout << f1(f2(f3(value))); }
3
1
0
2
-
What is the output of the following snippet?
#include <iostream> #include <string> using namespace std; string fun(string t, string s = "x", int r = 1) { while(--r) s += s; t = t + s; return s; } int main() { string name = "a"; cout << fun(name); cout << name; }
xxxxaaaa
xxaa
xa
xxxaa
-
What is the output of the following snippet?
#include <iostream> using namespace std; int main() { float x = 3.14, *p = &x; p[0] = ++x; cout << x; }
3.14
0.0
6.28
4.14
-
What is the output of the following snippet?
#include <iostream> using namespace std; int fun(long a, long b = 1) { return a << b; } int fun(int a, char b = 1) { return b - a; } int fun(int a, char b = 'z') { return b - a; } int fun(float a, float b = 0) { return a * b; } int main() { cout << fun(1L) << fun('x') << fun(2e0f); }
234
121
220
112
-
What is the output of the following snippet?
#include <iostream> using namespace std; int f1(int a) { return ++a; } int f2(int &a) { return ++a; } int f3(int *a) { return *a + 1; } int main() { int value = 2; cout << f1(value); cout << f2(vlaue); cout << f3(&value); }
333
456
445
334
-
What is the output of the following snippet?
#include <iostream> using namespace std; struct S { float *f; } voiid make(S *p, float x = 10) { float *f = new float ; *f = sizeof(*f) / sizeof(float) * 10; p->f = f; } int main() { S *ss = new s; make(ss); cout << *(*ss).f; delete ss->f; delete ss; }
80
10
40
20
Subscribe
0 Comments
Newest