Live data from Hacker News

What is the name of this operator: “--”?

stackoverflow.com

1–10 of 11 posts

Re: What is the name of this operator: “--”?

#4

Could someone break this down and explain it to me? [1] It looks hilariously atrocious yet interesting at the same time. [1]: http://stackoverflow.com/questions/1642028/what-is-the-name-...

  #define as ;while
  ...
  do printf("n is %d\n", n) as ( n --> 0);
Parses to (white space adjusted for clarity):

  do printf("n is %d\n", n);
  while ( n-- > 0);

Re: What is the name of this operator: “--”?

#5

Could someone break this down and explain it to me? [1] It looks hilariously atrocious yet interesting at the same time. [1]: http://stackoverflow.com/questions/1642028/what-is-the-name-...

The preprocessor replaces the macro "as" with ";while" creating a do-while loop.

  do {
   printf("%d",x);
  } while (x-- > 0);

Re: What is the name of this operator: “--”?

#8

Could someone break this down and explain it to me? [1] It looks hilariously atrocious yet interesting at the same time. [1]: http://stackoverflow.com/questions/1642028/what-is-the-name-...

Basically, somebody sees some code with two operators (decrement and less than) with no whitespace between them and thinks it's a single operator.

The answer that shows it with the brackets is probably the clearest:

    while ((x--) > 0)
    { ... }
The compiler sees that as the same as (x--> 0)

So it checks if x is more than zero and then decrements it each loop iteration.

Post reply on HN