c璇█ " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

C璇█鏂█鐨勪娇鐢ㄦ柟娉曟湁鍝簺

扬州沐宇科技
2023-11-08 01:33:40
c璇█

C璇█鏂█鐨勪娇鐢ㄦ柟娉曟湁浠ヤ笅鍑犵锛?/p>

  1. assert瀹忥細assert瀹忔槸C璇█涓渶甯哥敤鐨勬柇瑷€鏂规硶銆傚畠瀹氫箟鍦?lt;assert.h>澶存枃浠朵腑锛岀敤浜庡湪绋嬪簭鎵ц杩囩▼涓鏌ユ煇涓潯浠舵槸鍚︿负鐪熴€傚鏋滄潯浠朵负鍋囷紝鍒欎細瑙﹀彂鏂█澶辫触锛屽苟杈撳嚭涓€鏉¢敊璇俊鎭€?/li>

绀轰緥锛?/p>

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

int main() {
    int x = 10;
    assert(x > 0);
    printf("x is positive\n");
    return 0;
}

杩愯缁撴灉锛?/p>

x is positive
  1. static_assert鍏抽敭瀛楋細C11鏍囧噯涓紩鍏ヤ簡static_assert鍏抽敭瀛楋紝鐢ㄤ簬鍦ㄧ紪璇戞椂妫€鏌ユ煇涓潯浠舵槸鍚︿负鐪熴€傚鏋滄潯浠朵负鍋囷紝鍒欎細鍦ㄧ紪璇戞椂鎶ラ敊銆?/li>

绀轰緥锛?/p>

#include <stdio.h>
_Static_assert(sizeof(int) == 4, "int size must be 4 bytes");

int main() {
    printf("int size is 4 bytes\n");
    return 0;
}

缂栬瘧閿欒锛?/p>

error: static assertion failed: "int size must be 4 bytes"
  1. 鑷畾涔夋柇瑷€鍑芥暟锛氶櫎浜嗕娇鐢╝ssert瀹忓拰static_assert鍏抽敭瀛楀锛岃繕鍙互鑷繁瀹氫箟鏂█鍑芥暟鏉ヨ繘琛屾潯浠舵鏌ャ€傝嚜瀹氫箟鏂█鍑芥暟閫氬父浼氬湪鏉′欢涓哄亣鏃惰Е鍙戞柇瑷€澶辫触锛屽苟杈撳嚭涓€鏉¢敊璇俊鎭€?/li>

绀轰緥锛?/p>

#include <stdio.h>

#define my_assert(condition, message) \
    if (!(condition)) { \
        fprintf(stderr, "Assertion failed: %s\n", message); \
        exit(1); \
    }

int main() {
    int x = 10;
    my_assert(x > 0, "x must be positive");
    printf("x is positive\n");
    return 0;
}

杩愯缁撴灉锛?/p>

x is positive

娉ㄦ剰锛氭柇瑷€鏄敤鏉ユ鏌ヤ唬鐮侀€昏緫閿欒鐨勫伐鍏凤紝涓€鑸湪寮€鍙戝拰璋冭瘯闃舵浣跨敤銆傚湪鍙戝竷鐢熶骇鐜鐨勪唬鐮佹椂锛屽簲璇ョ鐢ㄦ柇瑷€鎴栫Щ闄ゅ畠浠紝浠ユ彁楂樻€ц兘銆?/p>

扫码添加客服微信