#include #include void* fib_calc(void* arg){ unsigned long int n = (unsigned long int)arg; if(n > 2) return (void*)((unsigned long int)fib_calc((void*)(n-1)) + (unsigned long int)fib_calc((void*)(n-2))); return (void*)1; } int main(){ pthread_t our_thread; pthread_create(&our_thread, 0, fib_calc, (void*)45); printf("Expecting value: %ld\n", fib_calc((void*)45)); void* retval; pthread_join(our_thread, &retval); printf("Return value was: %ld\n", retval); return 0; }