unsigned int f(unsigned int[]); /* hint: pointer arithmetic in C */ #define ERG (ar + 3) unsigned int ar[] = {5, 6, 7}; unsigned int ar_copy[] = {5, 6, 7}; int j; unsigned int ret; printf("adr of ar: 0x%08lx\n", ar); for(j=0; j < sizeof ar / sizeof ar[0]; j++) { printf("ar[%i]: %d\n", j, ar[j]); } ret = f(ar); printf("ret ist 0x%08lx (sollte 0x%08lx sein)\n", ret, ERG); for(j=0; j < sizeof ar / sizeof ar[0]; j++) { printf("ar[%i]: %d\n", j, ar[j]); } RET(ret == (unsigned int) ERG && ar[0] == ar_copy[0] * 30 && ar[1] == ar_copy[1] * 10 && ar[2] == ar_copy[2] * 20);