C/C++中的斷言


在此,我們將瞭解 C/C++ 中的斷言。C 庫宏 void assert(int expression) 允許將診斷資訊寫入標準錯誤檔案。換句話說,它可以用於在 C 程式中新增診斷資訊。

以下是 assert() 宏的宣告。

void assert(int expression);

這個 assert() 的引數是expression − 這可以是一個變數或任何 C 表示式。如果expression 求值為 TRUE,assert() 不會執行任何操作。如果expression 求值為 FALSE,assert() 會在stderr(顯示錯誤訊息和診斷資訊的標準錯誤流)上顯示一條錯誤訊息,並中止程式執行。

示例程式碼

#include <assert.h>
#include <stdio.h>
int main () {
   int a;
   char str[50];
   printf("Enter an integer value: ");
   scanf("%d", &a);
   assert(a >= 10);
   printf("Integer entered is %d\n", a);
   printf("Enter string: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("String entered is: %s\n", str);
   return(0);
}

輸出

Enter an integer value: 11
Integer entered is 11
Enter string: tutorialspoint
String entered is: tutorialspoint

更新日期: 30-Jul-2019

366 次瀏覽

開啟您的職業生涯

完成課程以獲得認證

獲取入門說明
廣告