C语言再学习-- assert 断言宏
生活随笔
收集整理的這篇文章主要介紹了
C语言再学习-- assert 断言宏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述:
斷言?assert?是僅在?Debug?版本起作用的宏,它用于檢查“不應該”發生的情況。C 庫宏?void assert(int expression)?允許診斷信息被寫入到標準錯誤文件中。換句話說,它可用于在 C 程序中添加診斷。
聲明:
下面是 assert() 宏的聲明。
void assert(int expression); 參數 expression -- 這可以是一個變量或任何 C 表達式。 如果expression 為 TRUE,assert() 不執行任何動作。 如果expression?為 FALSE,assert() 會在標準錯誤 stderr 上顯示錯誤消息,并中止程序執行。 返回值這個宏不返回任何值。
實例
下面的實例演示了 assert() 宏的用法。
讓我們在交互模式下編譯并運行上面的程序,如下所示:
#include <assert.h> #include <stdio.h>int main() {int a;char str[50];printf("請輸入一個整數值:");scanf("%d", &a);assert(a >= 10);printf("輸入的整數是:%d\n", a);printf("請輸入字符串:");scanf("%s", &str);assert(str != NULL);printf("輸入的字符串是:%s\n", str);return(0); } 請輸入一個整數值: 11 輸入的整數是: 11 請輸入字符串: w3cschool 輸入的字符串是: w3cschool 請輸入一個整數值: 3 a.out: assert.c:11: main: Assertion `a >= 10' failed. 已放棄 (核心已轉儲)
總結
以上是生活随笔為你收集整理的C语言再学习-- assert 断言宏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你不懂API接口是什么?怎么和程序员做朋
- 下一篇: 2022年移动应用趋势洞察白皮书