Как напечатать «unsigned long» в C?
-
13-09-2020 - |
Вопрос
Я никогда не могу понять, как печатать unsigned long
тип данных в C.
Предполагать unsigned_foo
является unsigned long
, затем я пробую:
printf("%lu\n", unsigned_foo)
printf("%du\n", unsigned_foo)
printf("%ud\n", unsigned_foo)
printf("%ll\n", unsigned_foo)
printf("%ld\n", unsigned_foo)
printf("%dl\n", unsigned_foo)
И все они печатают какую-то -123123123
номер вместо unsigned long
что у меня есть.
Решение
%lu
- правильный формат для GeneracodicCode.Звуки как есть и другие проблемы в игре, такие как повреждение памяти или неинициализированная переменная.Возможно, покажи нам большее изображение?
Другие советы
%lu
для беззнаковый длинный%llu
для беззнаковый длинный длинный
Для интервал %d
Для длинный интервал %ld
Для длинный длинный int %lld
Для беззнаковый длинный длинный int %llu
Из всех комбинаций, которые вы перепробовали, %ld
и %lu
это единственные, которые вообще являются допустимыми спецификаторами формата printf. %lu
(длинная десятичная дробь без знака), %lx
или %lX
(длинный шестнадцатеричный текст со строчными или прописными буквами), и %lo
(long octal) являются единственными допустимыми спецификаторами формата для переменной типа unsigned long (конечно, вы можете добавить модификаторы ширины поля, точности и т.д. Между %
и тот l
).
int main()
{
unsigned long long d;
scanf("%llu",&d);
printf("%llu",d);
getch();
}
.
Это будет полезно.Отказ,
Формат генеракодицетагкод.
Пожалуйста, проверьте различные другие типы данных и их использование в Printf здесь
Правильный спецификатор для беззнакоменного длинного является генеракодицетагкод.
Если вы не получаете точное значение, вы ожидаете, что в вашем коде могут быть некоторые проблемы.
Пожалуйста, скопируйте свой код здесь.Тогда, может быть, кто-то может сказать вам лучше, в чем проблема.
У меня была такая же проблема.Попробуйте «% ul», это работает для меня.