Recursion
Recursion
int main()
{
int* ptr, s = 5;
mystery(ptr, s);
for (int i = 0; i < s; ++i)
cout << ptr[i] << " ";
delete[] ptr;
ptr = NULL;
return 0;
}
int main()
{
cout << *cpp[1] << endl;
cout << *(*(*(cpp + 2) + 2) + 3) << endl;
cout << (*cpp)[-1] << endl;
cout << *(cpp + 3)[-1] << endl;
int main()
{
const char* str[] = { "AAAAA", "BBBBB",
"CCCCC", "DDDDD" };
int main() {
char a[10] = "date", b[10] = "data";
cout << fun2(a, b) << endl;
}
void main()
{
void* vp;
char ch = 'g', * cp = "goofy";
int j = 20;
vp = &ch;
cout << *(char*)vp;
vp = &j;
cout << *(int*)vp;
vp = cp;
cout << (char*)vp + 3 << endl;
}
int main()
{
char* ptr;
char myString[] = "programing I";
ptr = myString;
ptr += 5;
cout << ptr;
}
int main()
{
int x = 20;
int& y = x;
int* p = &x;
x = x + 20;
y = y + 50;
cout << *p << " " << y;
}
int main() {
int main()
{
int array[] = { 1,2,3,4,5 };
int* p = array;
cout << (p + (10 - 5) / 2 == array + 1);
return 0;
}
int g_One = 1;
int main() {
int nvar = 2;
int* pvar = &nvar;
func(pvar);
cout << *pvar << endl;
func2(pvar);
cout << *pvar << endl;
return 0;
}
int main(){
char* s[4] = { "black", "white",
"yellow", "violet" };
int main() {
int L[][::s] = { {8, 9, 4}, {2, 3, 4},
{7, 6, 1} };
int* ptr = listMystery(L);
displayMystery(ptr);
delete[] ptr;
return 0;
}
void function(char** ptr)
{
char* ptr1;
ptr1 = (ptr += sizeof(int))[-2];
cout << ptr1 << endl;
}
int main()
{
char* arr[] = { "ant", "bat", "cat",
"dog", "egg", "fly" };
function(arr);
return 0;
}
int main() {
pNumber1 = &number2;
int& refNumber1 = number1;
refNumber1 = 11;
refNumber1 = number2;
number2++;
int main()
{
int c, * b, ** a;
c = 4;
b = &c;
a = &b;
cout << f(c, b, a);
return 0;
}
int main()
{
const int* p;
const int a = 2;
p = &a;
*p = 7;
cout << *p;
}
int main()
{
const int a = 2;
const int* p = &a;
int b = 3;
p = &b;
cout << *p;
}
int main()
{
int a[3] = { 1, 2, 3 };
int* const p = a;
int B[3] = { 7, 9, 0 };
p1 = &B;
p2 = A;
int main()
{
void* vp;
int a = 6;
float b = 6.9;
vp = &a;
cout << *vp;
vp = &b;
cout << *vp;
}
int main()
{
void* vp;
int a = 69;
vp = &a;
cout << (char*)vp << endl;
cout << (int*)vp << endl;
cout << (float*)vp << endl;
int main()
{
void* vp;
float b = 6.9;
vp = &b;
cout << &b << endl;
cout << &vp << endl;
cout << (float*)vp << endl;
int main()
{
void* vp;
int a = 69;
vp = &a;
cout << &vp << endl;
cout << &a << endl;
int main()
{
void* vp;
int a = 69;
vp = &a;
cout << &a << endl;
cout << &vp << endl;
cout << *(int*)vp << endl;
cout << *(int*)*&vp << endl;
cout << (int*)&vp << endl;
}
int main()
{
void* vp;
int a = 69;
vp = &a;
cout << &a << endl;
cout << &vp << endl;
cout << *(char*)vp << endl;
cout << (char*)vp << endl;
cout << (char*&)vp << endl;
cout << (char*&&)vp << endl;
cout << *&(char*&)vp << endl;
cout << (char**)vp << endl;
cout << (void *)(char*)vp << endl;
cout << (void *)(char***)vp << endl;
cout << (char***)&vp << endl;
}
int main()
{
void* vp;
void** vvp = &vp;
int a = 69;
vp = &a;
cout << &a << endl;
cout << &vp << endl;
cout << &vvp << endl;
cout << *vvp << endl;
}
int main()
{
void* vp;
void** vvp;
int a = 69;
int* ip = &a;
vvp = &ip;
vp = &a;
cout << &a << endl;
cout << &vp << endl;
cout << &vvp << endl;
cout << *vvp << endl;
cout << *ip << endl;
}
int main()
{
void* vp;
int a = 69;
int* ip = &a;
void* & vvp = vp;
vp = &a;
cout << &a << endl;
cout << &vp << endl;
cout << &vvp << endl;
cout << *(char *)vvp << endl;
cout << (void *)ip << endl;
cout << (void*)&ip << endl;
}
int a = 5;
int b = 6;
int* p = &a;
int* ABC() {
return &b;
}
int* DEF(int* p) {
return p;
}
int& DEF() {
return *p;
}
int& GHI() {
return a;
}
int main()
{
int a = 4;
int* p;
cout << *(ABC()) << endl;
p = DEF(&::a);
cout << *p << endl;
DEF() = 1;
cout << ::a << endl;
a = GHI();
cout << a << endl;
}
int main() {
cout << "1 " << ptr[3] << *ptr << endl;
cout << "2 " << ++ptr << endl;
cout << "3 " << ++(*pf) << endl;
cout << "4 " << pf + 5 << endl;
cout << "5 " << (ptr + 5)[-3] << endl;
int& mystery(int*& p)
{
static int s = 3;
if (p)
{
cout << *p + 2<< endl;
delete[] p;
p = nullptr;
}
return s;
}
int& magic(int* p)
{
if (p)
{
cout << *p + 2 << endl;
delete[] p;
p = nullptr;
}
static int s = 3;
p = new int[s] {s + s};
return s;
}
int main()
{
int* ptr = nullptr;
mystery(ptr) = 5;
cout << *ptr << endl;
mystery(ptr)++;
cout << *ptr << endl;
magic(ptr) = 2;
cout << *ptr << endl;
if (!ptr)
cout << "Ok that's All" << endl;
}
void mystery(int** p)
{
*p += 2;
cout << (*p)[1] << endl;
cout << p[0][-3] << endl;
delete[] p;
int main()
{
int arr[3][3] = { 1, 2, 3, 4,
5, 6, 7, 8, 9 };
magic(arr + 1);
int* p = &arr[-1][6];
mystery(&p);
p += 2;
for (int i = 0; i < 3; i++)
cout << *(p - i) << endl;
int main()
{
int s = 3, b = 4, t = 7;
int* ptr = &s;
int*& rptr = ptr;
cout << *ptr << endl;
cout << *rptr << endl;
ptr = &b;
cout << *ptr << endl;
cout << *rptr << endl;
}
int main()
{
int s = 3, b = 4, t = 7, & q = t;
int* ptr = &s;
int** rptr = &ptr;
ptr = &b;
cout << *ptr << endl;
cout << **rptr << endl;
q = b + 2;
*rptr = &t;
cout << **rptr << endl;
cout << *ptr << endl;
}
void find(int, int&, int&, int = 4);
int main() {
int one = 1, two = 2, three = 3;
find(one, two, three);
return 0;
}
int func(int a) {
if (a == 0)
return func(s--);
if (a < 0)
{
s -= 1;
cout << s << " , " << a << endl;
return s + a;
}
int main() {
func(2);
}
doMagic(arr, n - 1);
int main()
{
int arr[] = { 12, 11, 13, 5, 6, 18};
int n = sizeof(arr) / sizeof(arr[0]);
doMagic(arr, n);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
}
int fun(int a, int b)
{
if (b == 0)
return 0;
if (b % 2 == 0)
return fun(a + a, b / 2);
return fun(a + a, b / 2) + a;
}
int main()
{
cout << fun(4, 3);
return 0;
}
int fun(int n)
{
if (n > 100)
return n - 10;
return fun(fun(n + 11));
}
int main()
{
cout << " " << fun(99) << " ";
return 0;
}
void abc(const char *s)
{
if (s[0] == '\0')
return;
abc(s + 1);
abc(s + 1);
cout << s[0];
}
int main()
{
abc("aneeq");
return 0;
}
int fun(int count)
{
cout << count << endl;
if (count < 3)
{
fun(fun(fun(++count)));
}
return count;
}
int main()
{
fun(1);
return 0;
}
int main()
{
cout << fun(2, 3);
return 0;
}
if (n > 0)
return (n % r + foo(n / r, r));
else
return 0;
}
int main()
{
cout << foo(345, 10);
return 0;
}
int main()
{
crazy(3, 4, 5);
return 0;
}
if (n == 1 || m == 1)
return PD[n][m] = 1;
if (PD[n][m] == 0)
{
PD[n][m] = okay(n - 1, m, PD)
+ okay(n, m - 1, PD);
}
return PD[n][m];
}
int main()
{
int PD[4][4] = { 0 };
int main()
{
char str[] = "ABC";
foo(str, 0, 2);
}
int main()
{
int A[] = { 1, 4, 45, 6, -50, 10, 2 };
int n = sizeof(A) / sizeof(A[0]);
int main()
{
char str[] = "maxe ruoy";
int size = sizeof(str) / sizeof(str[0]);
int main()
{
int n = 35;
if (foo(n))
cout << "Yes";
else
cout << "No";
return 0;
}
int find(int n)
{
if (n == 0)
return 0;
else
return (n % 2 + 10 * find(n / 2));
}
int main()
{
int n = 11;
cout << find(n);
return 0;
}
int print_row(int ct, int num)
{
if (num == 0)
return ct;
cout << ct << "\t";
print_row(ct + 1, num - 1);
}
int main()
{
int n = 5;
pattern(n, 1, 1);
return 0;
}
int main()
{
int n = 5;
pattern(n, 1, 1);
return 0;
}