我运行了以下内容:
#include <stdio.h>
typedef unsigned short boolean;
#define false 0
#define true (!false)
int main()
{
int STATUS = 0;
int i = 0;
boolean ret = true;
for(i = 0; i < 99999; i++)
{
ret = ret && printf("Hello, World.");
}
if(!ret)
{
STATUS = -1;
}
return STATUS;
}
Run Code Online (Sandbox Code Playgroud)
它在不到一秒钟内完成.通常为0.9 - 0.92.
然后,我改变int i = 0;到int *i = 0;现在我下0.2秒得到执行时间.为什么速度变化?
Ala*_*lan 10
您的运行时由打印到控制台所需的时间占主导地位.int ++上的i ++将指针增加指针的大小.根据您的计算机和编译器设置,这将是4或8.根据您报告的数字,可能是4.因此printf只执行了四分之一次.
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |