标题:函数内 定义 static的问题
取消只看楼主
轮椅之星
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2012-8-16
结帖率:100%
已结贴  问题点数:20 回复次数:1 
函数内 定义 static的问题
程序代码:
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <string.h>
  4 static const char *msg[] = {"sunday", "monday", "tuesday", "wednesday",
  5                               "thursday", "friday", "saturday"};
  6 char *get_a_day(int index)
  7 {
  8       static char buf[20];
  9       strcpy(buf, msg[index]);

 10       return buf; 

 11 }     

 12 

 13 int main(int argc, const char *argv[])

 14 {

 15       printf("%s, %s\n", get_a_day(0), get_a_day(1));

 16       printf("%s, %s, %s\n", get_a_day(2), get_a_day(3), get_a_day(4));

 17       

 18       return 0;

 19 }  

程序运行结果是:sunday, sunday
                         :tuesday, tuesday, tuesday
求解释
搜索更多相关主题的帖子: include tuesday 
2012-12-18 12:29
轮椅之星
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2012-8-16
得分:0 
回复 2楼 zhaoya881010
我想知道为什么会出现这种结果, 设想的结果不是这样的。  为什么会产生覆盖??求解释
2012-12-18 15:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-391814-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066775 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved