C 语言用CLOCKS_PER_SEC计算时间秒不准的问题

#include
#include

int jishi(int b);

int main(void)
{
int m;
clock_t t;
printf("多少点一秒%ld\n",CLOCKS_PER_SEC);
puts("请输入多长时间,秒为单位");
scanf("%d",&m);
jishi(m);
}

int jishi(int b)
{
long t,o;
double c;
o=clock();
while(1)
{
t=clock();
printf("当前时间点%ld\n",t);
c=(t-o)/CLOCKS_PER_SEC;//这个值不准不知道是为什么
printf("还有%lf秒\n",c);
if((int)c==b)
break;
}
puts("时间到了");
}
我通过用clock()除以CLOCKS_PER_SEC来计算时间,不准CLOCKS_PER_SEC显示1000000,但是计算不准我用100000还接近点,不明白这是为什么,我在centos上用gcc编译的

        c=(double)(t-o)/CLOCKS_PER_SEC;//修改

对的,要强制转换,,,

现在的我遇到了同样的问题 ,不知道时间怎么求出时间来的
但是在用(c2-c1)/CLOCK_PER_SEC判断大于或小于某个时间时却又能够正常对比