static有什么用?如果去掉后,数组越界,输出的结果不对。加上关键词就不会越界了,它有这个功能吗?

[复制链接]
查看11 | 回复3 | 2012-3-22 23:58:20 | 显示全部楼层 |阅读模式
static 把 int k[10]; 处理成全局量(内存分配区不同,变量生命期不同)。下标超界时,正好那个区域还能继续用,所以你的程序过了关。但并不表示static一定能起扩容作用。安全做法是加大数组:int k[100]; 万无一失。...
回复

使用道具 举报

千问 | 2012-3-22 23:58:20 | 显示全部楼层
错误不是 static 引起的是因为int k[10] 的长度不够,当算到 j = 60 的时候,60的因数个数有11个,所以越界了。应该把k的长度加大...
回复

使用道具 举报

千问 | 2012-3-22 23:58:20 | 显示全部楼层
表示静态的,这里真没什么用 。 问题不是static这,而是你的数组使用中越界了。只是没加static显现出来罢了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行