代码运行和自己的预期不符合

自学C语言是代码运行的结果和自己的预期不符合

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
    int a = 1;
    //像这样一个一个的存储,很麻烦,这时候就需要数组来帮忙;

    //数组的作用是一组相同类型的元素的集合
    //数组是用下标来反映的,
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    //[]中打印的是这个数组中数的个数,然后用大括号把这几个数包含住,并且用“,”隔开。
    char ch[5] = { 'a','b','c' };
    
    int i = 0;
    while (i < 10)
        printf("%d\n", arr[i]);
    i++;

    //这个【】里是5,但是后面是三个字符,这叫做不完全初始化,剩下的默认为0!
    return 0;
}

运算结果是一串数字1,而不是123456789
无解决方法
使代码运行达到我的预期

while(){}循环里缺了一对"{}" ,修改如下,供参考:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int a = 1;
    //像这样一个一个的存储,很麻烦,这时候就需要数组来帮忙;

    //数组的作用是一组相同类型的元素的集合
    //数组是用下标来反映的,
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    //[]中打印的是这个数组中数的个数,然后用大括号把这几个数包含住,并且用“,”隔开。
    char ch[5] = { 'a','b','c' };

    int i = 0;
    while (i < 10)
    {  //修改  缺'{'
        printf("%d\n", arr[i]);
        i++;
    } //修改  缺‘}’
    //这个【】里是5,但是后面是三个字符,这叫做不完全初始化,剩下的默认为0!
    return 0;
}

16行的while语句后加大括号,把i++括到里面,不然默认只匹配while后的一个语句,也就是一个分号的内容