final ass2
[sws1-1415.git] / ass2 / mart / sws1-s4109503-s4202015 / exercise2.c
index c05c0ed..45a50d6 100644 (file)
@@ -3,11 +3,9 @@
 
 void print(char *address, unsigned int size)
 {
-       printf("address: %p, size: %u, psize: %u\n", address, size, sizeof(address));
-       for(unsigned char i=0; i<size; i++)
-       {
-               int value = *((char*)(address+i));
-               printf("%p %x %u\n", address+i, value, value);
+       for(unsigned char i = 0; i < size; i++) {
+               unsigned char value = (unsigned char)*(address + i);
+               printf("%p  0x%02X           %3u\n", address + i, value, value);
        }
 }
 
@@ -15,13 +13,15 @@ int main(void)
 {
        short i = 0x1234;
        char x = -127;
-       long sn1 = 4109503;/*
+       long sn1 = 4109503;
        long sn2 = 4202015;
-       int y[2] = {0x11223344, 0x443332211};*/
-       printf("address   content (hex)  content(dec)\n");
-
+       int y[2] = {0x11223344, 0x44332211};
+       printf("address         content (hex)  content(dec)\n");
+       printf("------------------------------------------\n");
        print((char *)&i, sizeof(i));
        print((char *)&x, sizeof(x));
        print((char *)&sn1, sizeof(sn1));
+       print((char *)&sn2, sizeof(sn2));
+       print((char *)&y, sizeof(y));
        return 0;
 }