gpt4 book ai didi

c - C 中两个长整型相加

转载 作者:行者123 更新时间:2023-11-30 15:51:02 24 4
gpt4 key购买 nike

我很难添加两个长整型,本质上我想要的是使用这两个变量所花费的“总”时间,但我一直得到 0。

struct rusage rusage;
getrusage(RUSAGE_SELF, &rusage);
printf("TOTAL TIME \n");
printf("%ld.%06ld", (rusage.ru_utime.tv_sec, rusage.ru_utime.tv_usec),
(rusage.ru_stime.tv_sec, rusage.ru_stime.tv_usec));

它打印出 0。我可以打印出用户时间、系统时间,但无法添加它们。请帮忙。

作者想要的不是仅仅添加两个long整数,而是添加两个timeval结构体的秒和微秒。

最佳答案

类似这样的东西,但是可以写得更好:

  struct rusage rusage;
struct rusage tusage;
getrusage(RUSAGE_SELF, &rusage);
printf("TOTAL TIME \n");
tusage.ru_utime.tv_sec = rusage.ru_utime.tv_sec + rusage.ru_stime.tv_sec;
tusage.ru_utime.tv_usec = rusage.ru_utime.tv_usec + rusage.ru_stime.tv_usec;
tusage.ru_utime.tv_sec += tusage.ru_utime.tv_usec / 1000000;
tusage.ru_utime.tv_usec = tusage.ru_utime.tv_usec % 1000000;
printf("%ld.%06ld\n", tusage.ru_utime.tv_sec, tusage.ru_utime.tv_usec);

关于c - C 中两个长整型相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15402838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com