0

製品の古いコードを調べていたところ、次のコードが見つかりました。

#include <stdio.h>
#include <string.h>
int main ( int argc, char **argv) {
    const char *str = "abcdefghi";
    int value = strcmp(str, "abcdefghi") == 0;
}

int value = strcmp(str, "abcdefghi") == 0;そのようなコードの目的は何ですか。

4

4 に答える 4

5

戻り値に応じて、またはになるvalue結果で初期化されます。strcmp(str, "abcdefghi") == 001strcmp

于 2012-05-02T05:59:58.523 に答える
1

C 式で関係演算子を使用した結果は、0 または 1 になります。

于 2012-05-02T05:59:45.813 に答える
0
int value = strcmp(str, "abcdefghi") == 0;

のようなものです

int value = (strcmp(str, "abcdefghi") == 0);

() 内で strcmp が 0 を返す場合 (0 == 0) は、1 を返すことを意味します

          if strcmp returns anything else then 0 then () will give 0 
于 2012-05-02T06:29:41.423 に答える
0

If return then will return true and will be assigned a value 1. 1 を返す場合はstrcmp(str, "abcdefghi")、値 0 が割り当てられます。0strcmp(str, "abcdefghi") == 0valuevalue

于 2012-05-02T06:09:30.980 に答える