• aMockTie@lemmy.world
      link
      fedilink
      arrow-up
      38
      ·
      22 hours ago

      Statements that start with # in C/C++ are known as preprocessor directives, that is, they are executed before compilation begins. OP has used a #define which will replace any instance of A (IF(x)) with B (while (x)) in the code.

      So the IF statement is really just a while statement.

          • ulterno@programming.dev
            link
            fedilink
            English
            arrow-up
            4
            ·
            10 hours ago

            I always wondered why I always had a hard time making developers not call “if” a “loop”.
            Turns out it was on their tests.

            Glad I didn’t read my college material, or I would have lost faith in my college professors.

          • NigelFrobisher@aussie.zone
            link
            fedilink
            arrow-up
            4
            ·
            20 hours ago

            It just occurred to that in Yorkshire dialect a while loop would actually be an until loop. Directives to the rescue!

        • kyub@discuss.tchncs.deOP
          link
          fedilink
          English
          arrow-up
          10
          ·
          21 hours ago

          “Infamous” just refers to newbies who sometimes call if statements “if loops”. I’ve heard this quite a bit.

        • AliasVortex@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          2
          ·
          22 hours ago

          Infamous because the condition is 1 (or true), the loop never actually exits because it’s always true