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
廣告