2

memcmp の戻り値の問題を強調する小さな C コードを次に示します。

    char *str1 = "\200";
    char *str2 = "\0";

    int val1 = memcmp(str1, str2, 2);
    int val2 = memcmp("\200", "\0", 2);

    printf("val 1 : %d \n",val1);
    printf("val 0 : %d \n",val2);

標準出力は次のとおりです。

val 1 : 128
val 2 : -1

2 つの関数呼び出しの違いの説明はありますか? ご協力いただきありがとうございます。

クランバージョン:

Apple LLVM バージョン 9.0.0 (clang-900.0.39.2) ターゲット: x86_64-apple-darwin16.7.0

4

1 に答える 1