Подтвердить что ты не робот

Спецификатор формата для 'long long'

Я объявляю переменную для 64-битного счетчика следующим образом:

long long call_count;

Каков спецификатор формата, который я должен использовать в операциях печати?

Я пробовал,% l,% ld,% ll. Кажется, что нет прав.

Я использую компилятор Diab C для компиляции кода приложения для работы в операционной системе pOS.

4b9b3361

Ответ 1

В соответствии с C99 он должен быть "% lld" (см., например, здесь). Если Diab C не является C99, вам нужно будет посмотреть документы компилятора, которые я не могу найти в Интернете с помощью быстрого Googling.

Ответ 2

It "%lli" (или эквивалентно "%lld")

Ответ 3

Microsoft и Watcom используют %I64d (заглавный глаз), другие используют %lld (нижний регистр ell ell).

Ответ 4

Может быть,% lld? Я думаю, что это формат для gcc, ничего не знаю о компиляторе Diab C.

Ответ 5

Этот и даже немного более описан здесь: кросс-платформенная печать 64-битных целых чисел с помощью printf

TL; ДР: Вы можете использовать макрос PRId64 (из inttypes.h) для печати 64-битных целых чисел в десятичной форме в переносном режиме. Существуют и другие макросы (например, PRIx64).

Ответ 6

не должно быть% lld?

Ответ 7

Это% lld для подписанных и% llu для unsigned

Ответ 8

long long t1;             //signed
unsigned long long t2;    //unsigned

printf("%lld",t1);
printf("%llu",t2);