C语言中,我们声明一个一维数组,可以用以下几种方法
int buf[3];
int buf[] = {0};
int buf[3] = {1,2,3};
但是今天在keil中 使用int buf[] = {0}这种方式进行声明,发现编译正常通过,但是运行时,出现错误。
在线调试发现,是声明的buf[] 只有一位。
int buf[] = {0};
int main(void)
{
buf[0] = '1';
buf[1] = '2';
buf[2] = '3';
}
在Windows下 使用Dev -C++编写程序,发现正常
#include <stdio.h>
int main()
{
int i = 0;
int buf[] = {0};
buf[0] = 1;
buf[1] = 2;
buf[2] = 3;
for(i = 0;i<3;i++)
{
printf("buf[%d]:%d\n",i,buf[i]);
}
}
所以这是Keil编译器存在的问题吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)