Язык C: примеры неявного преобразования типов


Одна из самых жестких вещей в языке C— это неявное преобразование типов. Если вы не будете следить за этим — у вас будут большие проблемы. Попробуйте запустить этот код, чтобы узреть возможные траблы:

#include <stdio.h>

int main (void)
{
int a = -10;
unsigned int b = 5U;
long int c = a + b; // signed + unsigned

printf ("1) (signed int)a -10 will look as unsigned like this: %u\n", a);

printf ("2) (signed)a(-10) + (unsigned)b(5) = %ld\n", c);

return 0;
}

Приоритеты типов:

bool
 char
  unsigned char
   short int
    unsigned short int
     int
      unsigned int
       long int
        unsigned long int
         long long int
          unsigned long long int
           float
            double
             long double

 

 


Запись опубликована в рубрике С (Си). Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.