这个累加程序哪里错了

问题遇到的现象和发生背景

累加程序错误

问题相关代码,请勿粘贴截图

#include <stdio.h>
void main()
{int sum=0,i=1;
for(i=1; i<100;i++);
{
sum+=i;
}

printf("sum is %d\n",sum);

}

运行结果及报错内容

是100而不是5000

我的解答思路和尝试过的方法
我想要达到的结果

for循环后有个分号,相当于这个for循环只对i进行了累加,i累加到100退出for循环,然后执行sum += i,就是100

for(i=1; i<100;i++); 这一行最后多了个分号,相当于i已经++到了100,最后执行了一遍sum+=i,当然就只有100了