unsigned int (c ++) vs uint (c #)

Ниже приведен код C #:

   static void Main(string[] args)
    {
        uint y = 12;
        int x = -2;
        if (x > y)
            Console.WriteLine("x is greater");
        else
            Console.WriteLine("y is greater");
    }

, а это код C ++:

int _tmain(int argc, _TCHAR* argv[])
{
unsigned int y = 12;
int x = -2;
if(x>y)
    printf("x is greater");
else
    printf("y is greater");

return 0;
}

Оба дают разные результаты. Я упустил что-то базовое? Есть идеи?

39
задан Davide Piras 25 November 2011 в 07:51
поделиться