ループや条件なしで数値を出力する
プログラミングでは、多くの場合、一連の数値を出力または表示する必要があります。一般的なアプローチは、ループまたは条件ステートメントを使用して、目的の範囲を反復処理することです。ただし、これらの構造に依存せずに一連の数値を出力することは可能です。
C または C で 1 から 1000 までを出力
数値を出力するタスク用1 から 1000 まで、考えられる解決策の 1 つは再帰関数を使用します。
#include <stdio.h> void main(int j) { printf("%d\n", j); (&&main + (&exit - &main)*(j/1000))(j+1); }
この関数は自分自身を呼び出します。再帰的に、値 1000 に達するまでパラメータ j をインクリメントします。ポインタ エラーを避けるために、関数ポインタの前にアドレス演算子 & が使用されます。
標準 C バージョン
上記の関数のより標準的な C バージョンは次のとおりです。
#include <stdio.h> #include <stdlib.h> void f(int j) { static void (*const ft[2])(int) = { f, exit }; printf("%d\n", j); ft[j/1000](j + 1); } int main(int argc, char *argv[]) { f(1); }
このバージョンでは静的関数が使用されます。
結論
これらの方法は最も効率的または洗練された解決策ではないかもしれませんが、これらの方法は、数値シーケンスを出力する可能性を示しています。ループまたは条件文を使用します。
以上がループや条件文を使用せずに数値を連続的に出力するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。