Copy C Code & Paste it below the Compiler & Run

16. Matrix multiplication

#include <stdio.h>
int main() {
    //! A = showArray2D(A, rowCursors=[i], colCursors=[k], width=.33)
    //! B = showArray2D(B, rowCursors=[k], colCursors=[j], width=.33)
    //! C = showArray2D(C, rowCursors=[i], colCursors=[j], width=.33)
    double A[2][2] = {{0.866, -0.500}, {0.500, 0.866}};
    double B[2][2] = {{0.500, -0.866}, {0.866, 0.500}};
    double C[2][2];
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            C[i][j] = 0;
            for (int k = 0; k < 2; k++) {
                C[i][j] += A[i][k] * B[k][j];
            }
        }
    }
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            printf("%.3f ", C[i][j]);
        }
        printf("\n");
    }
    return 0;
}

17. Memory view

#include <stdio.h>
void show(int i, int j) {
    printf("i = %i, j = %i\n", i, j);
}
int main() {
    //! showMemory(extras=[i,*p], cursors=[k,&a[j][i],p], start=65504, cursorRows=2)
    int i = 0, j = 1, *k = &j;
    int a[3][2] = {0,1,2,3};
    char * p = ((char*)&a[1][1]) + 3;
    *k = 2;
    show(i, j);
    {
        int i = 1;
        j = 2;
        show(i, j);
    }
    show(i, j);
    return 0;
}

18. Operators, Binary

#include <stdio.h>
int main() {
  printf("add %i\n", 10 + 2);
  printf("sub %i\n", 13 - 1);
  printf("mul %i\n", 3 * 4);
  printf("div %i\n", 72 / 6);
  printf("rem %i\n", 32 % 20);
  printf("and %i\n", 15 & 12);
  printf("or  %i\n", 4 | 8);
  printf("xor %i\n", 6 ^ 10);
  printf("shl %i\n", 3 << 2);
  printf("shr %i\n", 96 >> 3);
  printf("comma %i\n", (4, 12));
}

19. Operators, relational

#include <stdio.h>
int main() {
  int a = 1, b = 2;
  if (a == a) printf(" a == a\n");
  if (a != b) printf(" a != b\n");
  if (a < b) printf(" a < b\n");
  if (a <= a) printf(" a <= a\n");
  if (b > a) printf(" b > a\n");
  if (b >= b) printf(" b >= b\n");
}

20. Operators, Unary

#include <stdio.h>
int main() {
  int a = 3, *b;
  printf("%i\n", +a);
  printf("%i\n", -a);
  printf("%i\n", !a);
  printf("%i\n", ~a);
  b = &a;
  printf("%i\n", *b);
  printf("%lu\n", sizeof(a));
}