雨夜孤鸦 发表于 2016-12-18 17:21:17

数组越界是什么意思?

#include <stdio.h>

#define URL "http://www.fishc.com"
#define NAME "鱼C工作室"
#define BOSS "小甲鱼"
#define YEAR 2010
#define MONTH 5
#define DAY 20

int main()
{
          printf("域名为%s的%s是%s在%d年%d月%d日%s创立的",URL,NAME,BOSS,YEAR,MONTH,DAY);
             
          return 0;
}
以上是我根据视频里写的代码,稍作修改(将几个语句简化为一句)写的,为什么每次运行都会程序停止运行?百度了下说是什么数组越界,我感觉应该不是,是我单行代码太长了还是什么?

zealstar 发表于 2016-12-18 17:44:34

printf("域名为%s的%s是%s在%d年%d月%d日%s创立的",URL,NAME,BOSS,YEAR,MONTH,DAY);

多了一个%s
正确的是
printf("域名为%s的%s是%s在%d年%d月%d日创立的",URL,NAME,BOSS,YEAR,MONTH,DAY);

四十二 发表于 2016-12-18 22:49:48

强烈建议,打印多个数据的时候本着容易纠错的原则,分成多次打印。

雨夜孤鸦 发表于 2016-12-24 20:07:55

四十二 发表于 2016-12-18 22:49
强烈建议,打印多个数据的时候本着容易纠错的原则,分成多次打印。

谢谢回复!我知道了!

雨夜孤鸦 发表于 2016-12-24 20:08:40

zealstar 发表于 2016-12-18 17:44
printf("域名为%s的%s是%s在%d年%d月%d日%s创立的",URL,NAME,BOSS,YEAR,MONTH,DAY);

多了一个%s


非常感谢!太粗心啦!哈哈!

geekerr 发表于 2017-2-8 12:59:55

就是比数组最大值还大
页: [1]
查看完整版本: 数组越界是什么意思?