私はちょうど素晴らしいプログラミングの困惑をしました。同じ理由は何ですか?2つの変数の比較
#include <stdio.h>
#include <limits.h>
int main(int argc, char *argv[])
{
unsigned int x = ULONG_MAX;
char y = -1;
if (x == y) printf("That is same.");
return 0;
}
私はunsigned intがsigned charに変換されていると思いますので-1になります。これは、符号付きタイプと符号なしタイプの比較のための標準である場合があります。私は知らない...
この宿題はありますか?もしそうなら、[tag:homework]タグを使用してください。 –
いいえ、そうではありません。 ;-) – RePRO
これは http://stackoverflow.com/questions/6636793/what-are-the-general-rules-for-comparing-different-data-types-in-c –