ALPHA: breaking changes expected. What that means
NanoC

FizzBuzz

Classic FizzBuzz with early returns, elif chains and a const char pointer result.

NanoC
+ <stdio.h>
## Classic FizzBuzz: indentation instead of braces, one expression per branch.
f label(n: i32) str
  if n % 15 == 0
    < "FizzBuzz"
  elif n % 3 == 0
    < "Fizz"
  elif n % 5 == 0
    < "Buzz"
  < NULL
f main()
  for i := 1; i <= 15; i++
    text: str = label(i)
    if text
      puts(text)
    else
      printf("%d\n", i)
  < 0
C
#include <stdio.h>

const char *label(int n) {
    if (n % 15 == 0) {
        return "FizzBuzz";
    } else if (n % 3 == 0) {
        return "Fizz";
    } else if (n % 5 == 0) {
        return "Buzz";
    }
    return NULL;
}

int main(void) {
    for (int i = 1; i <= 15; i++) {
        const char *text = label(i);
        if (text) {
            puts(text);
        } else {
            printf("%d\n", i);
        }
    }
    return 0;
}

Output

stdout
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

What it shows

control flow, strings

Edit in the playgroundSource on GitHub