#include <stdio.h>
int main(void)
{
int mins = 10;
int formu = 6 * mins;
printf("Input: %x\n", mins);
printf("Result: %x\n", formu);
}
Какие результаты в следующем:Почему код C возвращает цифры больше 10 в виде букв?
Input: a
Result: 3c
Я считаю, что по какой-то причине, один из типов, если не оба, генерируется как «Double» и положить в «Int» вызывает conflict.When меняю либо из «% х» до «мин» или «Formu» я получаю следующее сообщение об ошибке:
error: data argument not used by format string [-Werror,-Wformat-extra-args]
printf("Input: %mins\n", mins);
~~~~~~~~~~~~~~~~^
- почему компилятор, предполагая, что я хочу двойной?
- Это причина, по которой числа, превышающие 10, приводят к конверсии писем?
Благодаря
Вы спрашиваете, как работает hex? –
Нет, не совсем. Я просто смущен тем, почему он выводит в шестнадцатеричном виде. Извинения, если это слишком очевидно - я довольно новичок в кодировании. – HakBon
Как уже указывали другие, оно выводится в шестнадцатеричном виде, потому что вы попросили его вывести в шестнадцатеричном формате (даже если это не было вашим намерением). –