神舟NO.10 2018-09-23 12:49 采纳率: 50%
浏览 1534
已采纳

关于C语言中一维数组初始化的问题

第一组代码:
#include
int main()
{
int i,a[10];

         for(i=0;i<10;i++)
        printf("第%d个数:%d\n",i+1,a[i]);
        return 0

}
书上说这个不行,需要将a[10]改成a[10]={*******},但下面一段代码行但我觉得与第一组是一样的
第二组代码:
#include
int main()
{
int i,a[10];

        for(i=0;i<10;i++)
            a[i]=i+1;
                for(i=0;i<15;i++)
                printf("第%d个数:%d\n",i+1,a[i]);
                return 0
}
为什么第二种代码中的a[10]不改成a[10]={*****}
  • 写回答

3条回答 默认 最新

  • JonathanYan 2018-09-23 12:57
    关注

    第二组代码对a数组进行了初始化,第一组未初始化就进行了输出,容易输出乱码,一般都用花括号进行初始化,如果希望全部初始化为0可以写a[10] = { 0 },这代表所有元素都初始化为0

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

报告相同问题?

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了