0

unsigned long long类型对我来说没有按预期工作。这是我的简单代码:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    unsigned long long a = 2932306814;
    printf("a = %d\n", a);
    return EXIT_SUCCESS;
}

我得到以下输出:

a = -1362660482

usedgcc是作为 mingw 的一部分安装的,版本为 4.8.1。

4

1 回答 1

3

您没有正确打印号码。%d说明符用于int. 使用. %llu_unsigned long long

改成:

printf("a = %llu\n", a);
于 2015-12-06T19:06:58.577 回答