基本上,我试图找到速度以及我的CPU在C语言中可以计算多远。
这是我想做的事
mse
但是使用上面的代码,该程序永远不会编译/启动并在开始时卡住,甚至使程序说无响应。
我正在使用code :: block,并且在控制台上从未看到任何输出。
非常感谢所有回复。
答案 0 :(得分:1)
您的代码或多或少按预期工作:
输出可能是这样的:(//是我的评论,而不是输出的一部分)
[i] : 10000 // 100 * 100
[i] : 100000000 // 10000 * 10000
[i] : 1874919424 // 100000000 * 100000000 (int overflow)
[i] : 0 // 1874919424 * 1874919424 (int overflow resulting in 0)
[i] : 0 // from now on you only get 0, because 0 * 0 = 0
[i] : 0
[i] : 0
[i] : 0
[i] : 0
[i] : 0
int
溢出提供了不确定的行为,并且您平台上的结果可能有所不同。
尝试对程序进行此稍作修改的版本,它仅执行10个循环。
#include <stdio.h>
int main() {
int i = 100;
for (int count = 0; count < 10; count++)
{
i *= i;
printf("[i] : %d\n", i);
}
return 0;
}