static把变量声明为静态变量,在这个题目里,把time声明为静态变量主要是保证time的作用域在出了seconds_to()函数外仍然有作用,也就是让time拥有全局作用域。如果不加static关键字,time就是seconds_to()函数内的一个局部变量,当seconds_to()函数结束后,time所使用的内存被系统回收,所以,虽然seconds_to()函数返回了time,但是time只是指向这块内存的地址,出了seconds_to()函数后,time所指向的内存可能会被系统分配给其他变量使用。加上static后,就避免了这个问题,因为static让time具有全局作用域。
sprintf函数包含两个部分,第一个部分是一块内存,第二个部分是数据存入内存的形式。比如:
char buf[100];
int a = 100;
sprintf(buf,"%d",a);
那么,就是说吧a以int类型的样式存入buf。buf中的字符是'1' 、'0'、'0' (也就是说,buf会保存a的整数样式)
static是申明静态变量。其生命期是全局的
printf是输出到显示终端,sprintf是将数据输出到字符串