自己瞎想的一个,求看看🧐

自定义函数求输入数字的和,直到输入负值为止(100以内)
可以麻烦看下下面的代码为什么不能运行吗,谢谢各位,谢谢各位
#include<stdio.h>
int Sum(int a[],int count);
int main(void)
{
int a[100],sum,count=0,i=0;
do{count++;
scanf("%d",a[i]);
i++;}
while(a[i]>0);
sum=Sum(a, count);
printf("%d",sum);
}
int Sum(int a[],int count)
{
int i,sum=0;
for(i=0;i<count;i++)
{
sum+=a[i];
}return sum;
}


#include<stdio.h>
int Sum(int a[], int count);
int main(void)
{
    int a[100], sum, count = 0, i = 0;
    do {
        count++;
        scanf("%d", &a[i]);
        i++;
    } while (a[i-1] > 0);
    sum = Sum(a, count);
    printf("%d", sum);
}
int Sum(int a[], int count)
{
    int i, sum = 0;
    for (i = 0; i < count; i++)
    {
        sum += a[i];
    }return sum;
}

你手边没有电脑吗,没有编译器你也可以上网找个能在线运行的平台运行一下你的代码试试
自己试一试比别人看100遍要强