DEV Community

Discussion on: Challenge: Write a program that never stops

Collapse
 
benaryorg profile image
#benaryorg • Edited

Using C and TCO:


#define foo(x) _foo((x),1,0)

int _foo(int to,int cur,int acc)
{
  if((cur = 0) || (to = cur))
  {
    return acc;
  }
  return _foo(to,cur+1,acc+cur);
}

int main(void)
{
  return foo(10);
}