C How Does Async Await Work