for (x = 0; x < 1ULL<<(2*length); ++x){
以上这行是我下载的c程序代码。它有一个“1ULL”部分。首先我认为这是一个错误。但代码编译并运行良好。任何人都可以解释一下这是什么意思。
谢谢....答案 0 :(得分:10)
答案 1 :(得分:5)
这些字母会修改文字1
并使其为unsigned long long
类型。
C99(ISO / IEC 9899)§6.4.4.1整数常量:
integer-suffix: unsigned-suffix long-suffixopt unsigned-suffix long-long-suffix long-suffix unsigned-suffixopt long-long-suffix unsigned-suffixopt unsigned-suffix: one of u U long-suffix: one of l L long-long-suffix: one of ll LL
答案 2 :(得分:4)
这是一种向编译器发出信号的方式,该值必须被视为unsigned long long
。