【发布时间】:2014-01-08 12:07:30
【问题描述】:
我正在尝试使用 C 来解决 Project Euler 上的问题 3。 我对问题中的大整数有问题 - int 和 long 给我一个“溢出”警告,我的程序没有将结果打印到控制台。所以我切换到“long long”类型,警告消失了,但控制台仍然没有打印答案,这让我觉得我的代码有错误。
#include <stdio.h>
int main()
{
long long largest=0;
long long div=2;
long long i = 600851475143;
while(div<i)
{
if(i%div == 0)
{
largest=div;
}
div++;
}
printf("%I64d\n", largest);
return 0;
}
我在 Windows 7 上使用 Mingw 作为编译器。
【问题讨论】:
-
是什么都没有打印,还是错了,如果是后者,应该打印什么,打印什么?
-
你试过用双打代替吗?
-
这与您的编译器没有任何关系(GCC 是一个“独立实现”,这意味着(大致)它没有标准库)但与您的
libc(标准库),其中定义了printf。
标签: c variables printf format-specifiers