Проблема с% lld в Windows - PullRequest
6 голосов
/ 19 марта 2009

Почему этот код:

#include <stdio.h>

int main(int argc, char** argv) {
    printf("%lld\n", 4294967296LL);
}

испустить это для Windows:

0

но это для Linux:

4294967296

1 Ответ

12 голосов
/ 19 марта 2009

Это потому, что Visual Studio C ++ 2003 и более ранние версии не поддерживают% lld. Но этот код будет работать:

#include <stdio.h>

int main(int argc, char** argv) {
    printf("%I64d\n", 4294967296LL);
}

Спецификация размера и расстояния (Visual Studio C ++ 2003)

Спецификация размера и расстояния (Visual Studio C ++ 2005)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...