当前位置: 技术问答>linux和unix
《Linux程序设计》第三版第124页(void)time(&cur_time);这里前面为什么要加个(void)呢?
来源: 互联网 发布时间:2016-11-18
本文导语: 本帖最后由 e3399 于 2011-03-29 10:42:07 编辑 A program from 《BeginningLinuxProgramming》. #include #include #include int main (int argc, char **argv) { int i; time_t cur_time; struct tm *the_time; //////////// (void)time(&cur_time)...
A program from 《BeginningLinuxProgramming》.
#include
#include
#include
int main (int argc, char **argv)
{
int i;
time_t cur_time;
struct tm *the_time;
////////////
(void)time(&cur_time);////I don't think it needs (void) here.
the_time = gmtime(&cur_time);
printf("Year Month dayn");
printf("%d %d %dn", the_time->tm_year + 1900, the_time->tm_mon + 1,
the_time->tm_mday);
printf("Time:%d:%d:%dn", the_time->tm_hour, the_time->tm_min,
the_time->tm_sec);
return 0;
}
//还有问题想请教大家,《Linux程序设计》这本书应该细看还是粗看呢,里面涉及到的linux库函数好多啊,看到后面前面的也忘了。
|
(void)time(&cur_time);////I don't think it needs (void) here.
返回值都不要,加不加(void)无所谓,我认为编译器会自动优化掉(不理会(void)强制类似转换).
返回值都不要,加不加(void)无所谓,我认为编译器会自动优化掉(不理会(void)强制类似转换).
|
加了这个void变成强制转换函数返回值了,也没什么用,应该可以去掉
|
不放心的话可以去掉然后看看编译运行是否会出问题
|
功能上应该没有影响,也许是为了应付某些工具的检查
|
如果没有指定void()类型,某些编译器可能会发出警告。
你应该阅读的time手册,以获得进一步的理解。
|
强制性的“无返回值”,如果不强制,可以返回值,编译器不会报错...
|
time相关函数在/usr/include/sys下面
《Linux程序设计》着重理解,应用时遇到问题再去翻书