タグ

Qiitaとprintfに関するmohnoのブックマーク (1)

  • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

    はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

    「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
    mohno
    mohno 2020/10/19
    「printf() が呼ばれると動作している風なのは偶々の結果でありプログラムが正しい訳ではない」だけだよね。C言語は「問題が起きやすい」だけで、直接関係なさそうな部分が動作に影響するのはC言語に限らないと思うぞ。
  • 1