#task1.1
#include <stdio.h> #define N 4 int main() { int x[N] = {1, 9, 8, 4}; int i; int *p; for (i = 0; i < N; ++i) printf("%d", x[i]); printf("\n"); for (p = x; p < x + N; ++p) printf("%d", *p); printf("\n"); p = x; for (i = 0; i < N; ++i) printf("%d", *(p + i)); printf("\n"); p = x; for (i = 0; i < N; ++i) printf("%d", p[i]); printf("\n"); return 0; }

#task1.2
#include <stdio.h> int main() { int x[2][4] = {{1, 9, 8, 4}, {2, 0, 4, 9}}; int i, j; int *p; int(*q)[4]; for (i = 0; i < 2; ++i) { for (j = 0; j < 4; ++j) printf("%d", x[i][j]); printf("\n"); } for (p = &x[0][0], i = 0; p < &x[0][0] + 8; ++p, ++i) { printf("%d", *p); if ((i + 1) % 4 == 0) printf("\n"); } for (q = x; q < x + 2; ++q) { for (j = 0; j < 4; ++j) printf("%d", *(*q + j)); printf("\n"); } return 0; }

#task2.1
#include <stdio.h> #include <string.h> #define N 80 int main() { char s1[] = "Learning makes me happy"; char s2[] = "Learning makes me sleepy"; char tmp[N]; printf("sizeof(s1) vs. strlen(s1): \n"); printf("sizeof(s1) = %d\n", sizeof(s1)); printf("strlen(s1) = %d\n", strlen(s1)); printf("\nbefore swap: \n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); printf("\nswapping...\n"); strcpy(tmp, s1); strcpy(s1, s2); strcpy(s2, tmp); printf("\nafter swap: \n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); return 0; }

Answer:1.
#task2.2