c语言long和double转换,c-警告:从“ long int”转换为“ double”可能会更改其值

我的代码如下: #include #include using namespace std; int main(int argc, char** argv

我的代码如下:

#include

#include

using namespace std;

int main(int argc, char** argv) {

if(argv[0])

argc++;

struct timeval m_timeEnd, m_timeCreate, m_timeStart;

long mtime, alltime, seconds, useconds;

gettimeofday(&m_timeStart,NULL);

sleep(3);

gettimeofday(&m_timeCreate,NULL);

sleep(1);

gettimeofday(&m_timeEnd, NULL);

seconds = m_timeEnd.tv_sec - m_timeStart.tv_sec;

useconds = m_timeEnd.tv_usec - m_timeStart.tv_usec;

mtime = (long) (((seconds) * 1000 + useconds/1000.0) + 0.5);

seconds = useconds = 0;

seconds = m_timeEnd.tv_sec - m_timeCreate.tv_sec;

useconds = m_timeEnd.tv_usec - m_timeCreate.tv_usec;

alltime = (long) (((seconds) * 1000 + useconds/1000.0) + 0.5);

printf("IN=%ld ALL