CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

大哥大姐们帮帮忙!SOLARIS系统下C函数CLOCK()计算不出时间是什么问题.

楼主flyinghawk_79(天之子)2005-06-01 13:54:25 在 C/C++ / C语言 提问

main()  
  {  
  clock_t   start,   end;  
  start   =   clock();  
  sleep(2秒);  
  end   =   clock();  
  printf("end   -   start   =   %d\n",   (end   -   start)/clock_PER_SEC);  
  }  
  在SOLARIS下为什么打印出来的是0呀?应该是2才对.WINDOWS下是正确的. 问题点数:100、回复次数:11Top

1 楼whyglinux(山青水秀)回复于 2005-06-01 15:28:07 得分 50

clock_PER_SEC   应该是   CLOCKS_PER_SEC   吧。  
   
  得到的结果是   0   说明   sleep()   的经过时间不足   1   秒。检查一下   sleep()   函数的参数单位是什么,是否为秒;或者用   getchar()   来代替   sleep()   语句。Top

2 楼whyglinux(山青水秀)回复于 2005-06-01 15:35:31 得分 0

如果   sleep()   单位没有问题,那问题可能出现在输出上。一般   clock_t   被定义为   long,所以在用   printf()   函数进行输出的时候不应该使用   %d,应该使用   %ld。Top

3 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-01 15:43:58 得分 0

sleep(2秒);  
  ---------  
  这样也可以阿。Top

4 楼flyinghawk_79(天之子)回复于 2005-06-01 15:55:37 得分 0

我改成%ld也没有用.  
  在SOLARIS下sleep(2);表示2秒.Top

5 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-01 16:07:49 得分 0

#include   <stdio.h>  
  #include   <time.h>  
   
  main()  
  {  
  clock_t   start,   end;  
  start   =   clock();  
  sleep(100);  
  end   =   clock();  
  printf("end   -   start   =   %g\n",   (double)(end   -   start)   /   (double)CLOCKS_PER_SEC);  
  }Top

6 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-01 16:12:40 得分 50

printf("end   -   start   =   %g\n",   (double)(end   -   start)   /CLOCKS_PER_SEC);     ----     这样就可以了,刚才不知道为什么不行。Top

7 楼flyinghawk_79(天之子)回复于 2005-06-01 16:18:27 得分 0

sleep(2);是执行成功的.  
  但是printf("end   -   start   =   %g\n",   (double)(end   -   start)   /CLOCKS_PER_SEC);     打印出来还是0.  
  我想clock()函数和系统有关.在SOLARIS下他计算的是CPU的执行时间.SLEEP(2)CPU没有执行任何操作.所以还是0.不知道对不对.Top

8 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-01 16:54:37 得分 0

printf("end   -   start   =   %g\n",   (double)(end   -   start)   /   (double)CLOCKS_PER_SEC);  
  -------------  
  这个呢?Top

9 楼flyinghawk_79(天之子)回复于 2005-06-01 17:08:41 得分 0

还不行.Top

10 楼mostideal(三甲)回复于 2005-06-02 23:48:51 得分 0

markTop

11 楼flyinghawk_79(天之子)回复于 2005-06-06 20:18:26 得分 0

帮帮忙呀Top

相关问题

  • c++函数
  • C函数
  • C++函数手册!
  • 求C#的函数?
  • 再求函数(C#)?
  • C++入口函数
  • 求一C#函数
  • C/C++的函数问题
  • C#函数调用问题
  • C++ 函数指针问题?

关键词

  • solaris
  • 函数
  • sleep
  • sec
  • start
  • 执行
  • clocks
  • 问题
  • double
  • 时间

得分解答快速导航

  • 帖主:flyinghawk_79
  • whyglinux
  • zhousqy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo