c璇█ " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c璇█涔媋ssert()鍑芥暟鎬庝箞浣跨敤

扬州沐宇科技
2023-10-24 13:04:19
c璇█

assert()鍑芥暟鏄疌璇█鏍囧噯搴?<assert.h> 涓殑涓€涓畯锛岀敤浜庡湪绋嬪簭涓彃鍏ユ柇瑷€銆?/p>

鏂█鏄▼搴忓憳鍦ㄧ紪鍐欎唬鐮佹椂鐢ㄤ簬妫€鏌ョ▼搴忕殑閫昏緫閿欒鐨勪竴绉嶆柟娉曘€傚畠鐢ㄤ簬妫€鏌ユ煇涓潯浠舵槸鍚︿负鐪燂紝濡傛灉鏉′欢涓哄亣锛岄偅涔堢▼搴忎細绔嬪嵆缁堟锛屽苟杈撳嚭閿欒淇℃伅銆?/p>

assert()鍑芥暟鐨勪娇鐢ㄦ柟娉曞涓嬶細

#include <assert.h>

void assert(int expression);

assert()鍑芥暟鎺ュ彈涓€涓〃杈惧紡浣滀负鍙傛暟锛屽鏋滆琛ㄨ揪寮忕殑鍊间负0锛堝嵆鍋囷級锛屽垯鏂█澶辫触锛岀▼搴忎細缁堟锛屽苟杈撳嚭涓€鏉¢敊璇秷鎭埌鏍囧噯閿欒杈撳嚭娴侊紙stderr锛夈€?/p>

閫氬父鍦ㄧ紪鍐欎唬鐮佹椂锛屼綘鍙互鍦ㄩ€傚綋鐨勪綅缃彃鍏?code>assert()鍑芥暟鏉ユ鏌ユ煇涓潯浠舵槸鍚︽弧瓒筹紝渚嬪锛?/p>

#include <stdio.h>
#include <assert.h>

int divide(int a, int b) {
    // 妫€鏌ラ櫎鏁版槸鍚︿负0
    assert(b != 0);

    return a / b;
}

int main() {
    int a = 10;
    int b = 0;

    int result = divide(a, b);

    printf("Result: %d\n", result);

    return 0;
}

鍦ㄤ笂闈㈢殑渚嬪瓙涓紝assert(b != 0)鐢ㄤ簬妫€鏌ラ櫎鏁版槸鍚︿负0锛屽鏋滀负0锛屽垯绋嬪簭浼氱珛鍗崇粓姝紝骞惰緭鍑洪敊璇秷鎭?quot;Assertion failed: b != 0"鍒版爣鍑嗛敊璇緭鍑烘祦銆傛敞鎰忥紝assert()鍑芥暟鍙湪璋冭瘯妯″紡涓嬭捣浣滅敤锛屽嵆鍦ㄧ紪璇戞椂闇€瑕佸惎鐢ㄨ皟璇曟ā寮忥紙渚嬪浣跨敤-g閫夐」杩涜缂栬瘧锛夋墠浼氱敓鏁堛€傚湪鍙戝竷鐗堟湰涓紝assert()鍑芥暟浼氳瀹忓畾涔変负绌猴紝涓嶄細璧蜂綔鐢ㄣ€?/p>

鎬荤粨涓€涓嬶紝assert()鍑芥暟鐢ㄤ簬鍦ㄧ▼搴忎腑鎻掑叆鏂█锛岀敤浜庢鏌ユ煇涓潯浠舵槸鍚︿负鐪燂紝濡傛灉鏉′欢涓哄亣锛岀▼搴忎細绔嬪嵆缁堟锛屽苟杈撳嚭閿欒淇℃伅鍒版爣鍑嗛敊璇緭鍑烘祦銆傛敞鎰忥紝鍦ㄧ紪鍐欎唬鐮佹椂锛屼粎鍦ㄩ€傚綋鐨勪綅缃娇鐢ㄦ柇瑷€锛屽苟涓斿湪鍙戝竷鐗堟湰涓叧闂柇瑷€浠ユ彁楂樼▼搴忕殑鎬ц兘銆?/p>

扫码添加客服微信