Cのsetjump()とlongjump()
このセクションでは、Cのsetjumpとlongjumpを確認します。setjump()とlongjump()は、setjmp.hライブラリにあります。これら2つの関数の構文は次のようになります。
setjump(jmp_buf buf) : uses buf to store current position and returns 0. longjump(jmp_buf buf, i) : Go back to place pointed by buf and return i.
これらは、例外処理のためにCで使用されます。 setjump()はtryブロックとして使用でき、longjump()はthrowステートメントとして使用できます。 longjump()転送は、setjump()によってポイントされるpointeを制御します。
ここでは、再帰、ループ、またはマクロ展開を使用せずに数値を100回印刷する方法を説明します。ここでは、setjump()関数とlongjump()関数を使用してこれを行います。
例
#include <stdio.h> #include <setjmp.h> jmp_buf buf; main() { int x = 1; setjmp(buf); //set the jump position using buf printf("5"); // Prints a number x++; if (x <= 100) longjmp(buf, 1); // Jump to the point located by setjmp }
出力
5555555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555
-
UEFIとWindows8
この記事では、UEFIの概念の概念と、Windows8でのこのテクノロジーのアプライアンスについて説明します。 UEFIテクノロジーとは何ですか? UEFIの略語は、Unified ExtensibleFirmwareInterfaceの略です。このテクノロジは、従来のコンピュータブートシステムの変更用に設計されており、廃止されたBIOSシステムに取って代わる必要があります。しかし、それは古いテクノロジーの近代化だけでなく、OSとコンピューターの起動テクノロジーに対する根本的に新しいアプローチです。実際、UEFIはPCBIOSシステムとは実質的に何の関係もありません。 [アコーディオン][
-
Pythonの3と7
正の数nがあるとすると、3の非負の倍数と7の非負の倍数を合計することでnを作成できることを確認する必要があります。 したがって、入力が13のような場合、13は1 * 7 + 2 * 3 =13 と記述できるため、出力はTrueになります。 これを解決するには、次の手順に従います- 0からn+1の範囲のiの場合、7ずつ増やします。 n-iが3で割り切れる場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を見てみましょう- 例 class Solution: def solve(self, n):