eatingN 2021-10-31 19:57 采纳率: 94.1%
浏览 16
已结题

求详细回答,请具体详细,具体详细!

img


第九题函数部分看不懂,static是什么意思
为什么要用sprintf 为什么要用指针?求详细回答,谢谢!

  • 写回答

2条回答 默认 最新

  • 关注

    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的整数样式)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月31日