神舟NO.10 2018-09-23 12:49 采纳率: 60%
浏览 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条)

报告相同问题?

悬赏问题

  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding