84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
char a[2] = { '1','2' }; printf("%d", strcmp(a, "12"));
结果为 1
一个没有结束符,一个有结束符,为什么没有的比有的大?
业精于勤,荒于嬉;行成于思,毁于随。
Char は一般に符号なし整数とみなされ、a[2] はランダムな値であり、0 より大きい場合と 0 に等しい場合の 2 つの状況のみが存在します。
ほとんどの場合、a[2] は ' より大きいです'、1を返します。
前の質問と同様に、その質問では、私の答えは群衆によって踏みにじられました。文字列は文字列であり、文字配列は文字配列です。 strcmp 関数では、文字列を渡す必要があります。文字列のみに含まれるためです。 リーリー
の長さを知らないため、メモリへの範囲外のアクセスを実行します。 a
a
Char は一般に符号なし整数とみなされ、a[2] はランダムな値であり、0 より大きい場合と 0 に等しい場合の 2 つの状況のみが存在します。
ほとんどの場合、a[2] は ' より大きいです'、1を返します。
前の質問と同様に、その質問では、私の答えは群衆によって踏みにじられました。文字列は文字列であり、文字配列は文字配列です。 strcmp 関数では、文字列を渡す必要があります。文字列のみに含まれるためです。 リーリー
得られる結果は実際には 1 ではなく、ランダムな値です。 strcmp 関数はの長さを知らないため、メモリへの範囲外のアクセスを実行します。
a