I tried to debug the following code "on paper" (without compiler/debugger),but it seems that is not possible because of the pointers.
#include <stdio.h>
#define MAX 10
int main()
{
char array[MAX][MAX], c = 0;
int d = 1, x = 0, i, j;
do
scanf("%s", array[x]);
while (array[x++][0] != '0');
float* pf;
int xx, *pi = (int*)&array[0][7];
xx = ((*pi) & 0x41000000);
pf = (float*)&xx;
printf("%5.2f\n", *pf);
for (c- = --x; c++ & **array; d+=!(c << x > 0))
d<<=1;
d -= c;
for (i = 0; i < x; i == 1 ? printf("%c ", array[i][x >> 1]):i, ++i)
for (j = 0; j <= x - i; printf("%c", array[i][j++]));
printf("%x", d);
return 0;
}
//Example input:
programming languages 0
//Output:
2.00
prolaa 6
Could someone explain this code?