c语言for语句中程序段的执行时间

这个程序段的执行时间和时间复杂度一样吗?说是什么单位时间,不懂,请各位指教

img

执行时间 是 程序实际运行的时间。
时间复杂度,是 用于描述执行时间的一个度量函数,比如你这里 for循环的时间复杂度就是 O(n);

执行时间就是时间复杂度,这个代码的复杂度是 O(n)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7416773
  • 你也可以参考下这篇文章:磁盘整理,解决无法压缩C盘多余空间的问题(无法将卷压缩到超出任何不可移动的文件所在的点)
  • 除此之外, 这篇博客: 【C语言-程序编译】一行行代码究竟是怎么一步步到可执行程序的?中的 常用的条件编译指令 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    1.普通条件编译

    #if (常量表达式)
    	//...
    #endif
    

    :如果 常量表达式 为真,编译至 #endif ;反之,从#if 到 #endif 都不编译

    2.分支条件编译

    #if (常量表达式)
    	//...
    #elif (常量表达式) //elseif
    	//...
    #else (常量表达式)
    	//...
    #endif
    
    1. 判断是否被定义
    #define SYMBOL 1
    
    //ifdef
    #ifdef SYMBOL //定义了往下编译;没定义,从此到 #endif 都不编译
    	//...(会被编译)
    #endif
    
    //ifndef
    #ifndef SYMBOL//没定义就往下编译,定义了就不往下编译
    	//...(不会被编译)
    #endif
    

    :其实就是看 #ifdef / #ifndef 这一整条指令是否为真,为真就往下编译;反之直到 #endif 都不便宜
    例子:

    #define __DEBUG__
    
    int main()
    {
    	int arr[10] = { 0 };
    	int i = 0;
    	for (i = 0; i < 10; i++)
    	{
    		arr[i] = i;
    #ifdef __DEBUG__
    		printf("%d ", arr[i]);
    #endif //__DEBUG__
    	}
    	
    	return 0;
    }
    

    如果要测试,就如代码所示,接着编译,可以打印出来是否赋值成功;如果不测试就把 #ifdef __DEBUG__ 和 #endif 注释掉,不编译打印的代码



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^