ページ

2010年10月28日木曜日

[C][VC++ 2010] strcmpの戻り値

このエントリーをはてなブックマークに追加

('A' < 'Z' < 'a' < 'z') = (0x41 < 0x5a < 0x61 < 0x7a)

// 2つの引数が同じ場合戻り値は 0
strcmp("A", "A") == 0

// 第一引数のほうが第二引数より小さければ戻り値は -1
strcmp("A", "B") == -1

// 第一引数のほうが第二引数より大きければ戻り値は 1
strcmp("B", "A") == 1


//==========================================
// 文字列の場合は頭から順に比較していきます。
//==========================================

// (i) A < E 先頭がこのような条件なので戻り値は -1
strcmp("ABC", "E") == -1

// (i) A == A, (ii) B == B, (iii) C < D ここで戻り値は -1 確定
strcmp("ABC", "ABD") == -1

// (i) A == A, (ii) B == B (iii) C == C, (iv) NULL < D ここで戻り値は -1 確定
strcmp("ABC", "ABCD") == -1

// (i) A < B, ここで戻り値は -1 確定
strcmp("ABC", "BCD") == -1

0 件のコメント:

コメントを投稿