c语言使用for进行1加到100,请问错误在哪里,结果是total=100

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
int i, total;
for (i = 1, total = 0; i <= 100; i++)
{
total = total + 1;
}
printf("total=%d\n", total);
return 0;

}

total = total + i; 是i不是1。这里不就相当于加了100次1,结果是1很正确

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
    int i, total = 0;
    for (i = 1; i <= 100; i++)
    {
        total += i;
        
    }
    printf("total=%d\n", total);
    return 0;
}