Basic_Debugging_With_KeilEvaluation

profileAlkhawaa
main.c

#include <math.h> /* sqrt() */ #include <stdint.h> /* uint32_t */ #include <stdio.h> /* printf() */ uint32_t fibo_array[8]; uint32_t eucl_norm; uint32_t max_uint32_t; void func1_fibo(uint32_t *fibo_array, size_t N) { if (N < 2) return; fibo_array[0] = 1; fibo_array[1] = 1; /* for (size_t i = 2; i < N; i++) *fibo_array[i] = fibo_array[i - 1] + fibo_array[i - 2]; */ fibo_array += 2; N -= 2; while (N--) { *fibo_array = fibo_array[-1] + fibo_array[-2]; fibo_array++; } } int32_t func2_norm(uint32_t *fibo_array, size_t N) { float norm = 0; while (N--) { norm += (*fibo_array) * (*fibo_array); fibo_array++; } norm = sqrt(norm); return (int) norm; } void func3_print(uint32_t *fibo_array, size_t N) { if (N == 0) return; printf("%u", *fibo_array); while (--N) printf(", %u", *++fibo_array); printf(".\n"); } int main(void) { const char *my_team = "The names of me and my team members"; printf("Results of Lab1 from %s.\n", my_team); /* 0x%p should be replaced with %p if the 0x prefix is printed twice */ printf("0x%p 0x%p.\n", (void *) &fibo_array, (void *) &eucl_norm); max_uint32_t = 0xFFFFFFFF; printf("0x%p %u.\n", (void *) &max_uint32_t, max_uint32_t); func1_fibo(fibo_array, 8); eucl_norm = func2_norm(fibo_array, 8); func3_print(fibo_array, 10); return 0; }