Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語での単純なアサーションとは何ですか?


アサーションは、コードのその行に到達したときにファクトが真でなければならないことを積極的に宣言するために使用されるステートメントです。

アサーションは、満たされる期待される条件を取得するのに役立ちます。

シンプルアサーション

単純なアサーションは、 assert.h にあるassert(式)メソッドを使用して実装できます。 ヘッダーファイル。

単純アサーションの構文は次のとおりです-

assert(expression)

簡単な主張では、

  • 条件が真のアサーションに渡された場合、アクションはありません。
  • falseステートメントの動作はコンパイラフラグに完全に依存します。
  • アサーションが有効になっている場合、誤った入力によりプログラムが停止します。
  • アサーションが無効になっている場合、アクションはありません。

アサーションは、内部プログラミングエラーをキャッチするためにのみ使用されます。これらのエラーは、不正なパラメータを渡すことによって発生します。

以下は、Cプログラミング言語での単純なアサーションのためのCプログラムです-

#include <stdio.h>
#include <assert.h>
int main(void){
   int x;
   printf("Enter the value of x:\n");
   scanf("%d",&x);
   assert(x >= 0);
   printf("x = %d\n", x);
   return 0;
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

Run 1:
Enter the value of x:
20
x = 20
Run 2:
Enter the value of x:
-3
Assertion failed!
Program: G:\CP\CP programs\test.exe
File: G:\CP\CP programs\test.c, Line 10
Expression: x >= 0

  1. C言語のstrcmp()関数とは何ですか?

    Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls

  2. C#プログラミングとは何ですか?

    C#は、Microsoftによって開発された最新の汎用オブジェクト指向プログラミング言語です。 C#は、共通言語インフラストラクチャ(CLI)用に設計されています。これは、実行可能コードとランタイム環境で構成されており、さまざまなコンピュータープラットフォームやアーキテクチャでさまざまな高級言語を使用できます。 C#の機能は次のとおりです- ブール条件 自動ガベージコレクション 標準ライブラリ アセンブリのバージョン管理 プロパティとイベント デリゲートとイベント管理 使いやすいジェネリック インデクサー 条件付きコンパイル シンプルなマルチスレッド LINQおよびLambda式 Win