Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Whether you print the number, Fizz, Buzz or FizzBuzz you are going output a line break, so I'm not sure what you would be checking for. Output \n unconditionally.


Then you call `printf` twice every loop instead of once. `printf` is buffered so you aren't making two system calls, but you are still making two function calls.


Maybe it's a performance/brevity compromise, but the latter is the issue the I addressed. The least-calls solution would probably be to print the whole output as a single string constant.


then you'd get \n \n fizz\n \n buzz\n rather than fizz\n buzz\n


The canonical FizzBuzz wants

1\n2\nFizz\n4\nBuzz\n...\nFizzBuzz\n

If you did not print anything for some cases, you're right that it could not be unconditional (though it could still be done at the end with a flag).


oops, yes, my mistake.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: