Increment and Decrement Operators in GCC

#include<stdio.h>
int i=8;
int main()
{
printf("%d",++i + ++i + ++i);
return 0;
}
Ans: 30

#include<stdio.h>
int main()
{
int i=8;
printf("%d",++i + ++i + ++i);
return 0;
}
Ans: 31

What is the difference?