time.h适用于C而不是C语言
代码:
#include "stdafx.h" #include "stdio.h" #include "math.h" #include "stdlib.h" #include "time.h" int main() { time_t start,end; time (&start); int i; double dif; /*int serie[100000];*/ /* int *serie = malloc( sizeof(int) ); for (i = 0; i <= 100000; i++) { *serie(i)=rand(); printf("%d n",serie[i]); } */ time (&end); dif = difftime (end,start); printf ("Time of execution is: %fn",dif ); getchar(); return 0; } 简介:(无需阅读) 我从大约3年前就知道了一点C.我已决定 似乎C中没有新东西.我们必须使用malloc, cannot convert from 'void *' to 'int *' 无论如何,碰巧我决定用C语写,所以这似乎是合乎逻辑的 问题: 上面的代码与注释在C中完美编译,但在C中它不编译. time (&start); 给我这个错误: syntax error : missing ';' before 'type' 我只想计算开始时间和结束时间 解决方法
我敢打赌,你的C编译器默认为变量声明必须在块的开头.
你可以在int之前调用时间(& start).这在C中是可以的,但在C中则不行.具体来说,所有变量必须在C的所有版本中的任何程序代码之前声明,直到C99.在1999 C标准中,规则变为C,您可以混合代码和变量声明. 如果你有一个允许C99规则的C99编译器或编译器选项,仍然不这样做,因为它不可靠地可移植.即使在C99中,无论如何都没有很多理由混合变量和代码.我能想到的唯一一个是C99可变长度数组,它需要代码来计算所需的长度. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |