And also C based on the same idea as my Python (but this has to ? for 0s):
int i;
char* a[] = { 0, "Buzz", "Fizz", "FizzBuzz" };
char* f[] = { "%s\n", "%d\n" };
for ( i = 1; i < 101; i++ ) {
char* s = a[ (i%3==0)*2 + (i%5==0) ];
printf( f[!s], s ? s : i );
}Don't ruin that version with an if statement.
Use this and avoid it( and the second array as well ):
char * a[] = { "%d\n" , "Fizz\n" , "Buzz\n" , "FizzBuzz\n" } ;
If, lambda, logical operators except == and string concatenation free version (Python 3)