#C语言 好心的大兄弟帮帮我

为什么偶数不变*
#include<stdio.h>
int main()
{
    char a[]="123456789",*p;int i=0;
    p=a;
    while(*p)
    {
        if(i%2==0)
        *p='*';
        p++;i++;
    }
    puts(a);
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

下标从0开始,下标是偶数,实际上是第奇数个

你这个程序是a数组奇数是,把i的初始值改成1就是偶数是

因为设置的数组是从0开始的,所以你代码的效果是奇数变“”,达不到偶数变“”的效果