Q:

for loop test case in C

Recently I discovered that I'm not nearly as good at C as I thought myself to be, and while doing some quick reviewing I stumbled upon this little programme from http://www.cs.princeton.edu/courses/archive/spr11/cos217/lectures/02CExamples.pdf>here
On page 7, it has
#include <stdio.h>
int main(void){
    int c, i;
    for (i=0; i<10; i++){
        c = getchar();
        putchar(c);
    }
    return 0;
}

and the question is why use i=0; i<10 in the loop instead of i=1; i<=10. 
I always thought these two forms are identical as long as the value of i is not being used in later codes but apparently I'm missing something. This is from Princeton and I can't imagine them making mistakes like this so I tested a few simple cases but they seem to be identical. Now I just feel really bad not able to answer such a simple question. I googled and searched within the site but didn't find anything. Please help. Thanks!
EDIT: thanks everyone for answering now at least i know there is not any significant difference. I actually have some programming experiences but since I mostly taught myself I thought I was missing something obvious. thanks again.

A:

In the context given they are the same. If you were using to access an array in C (which is 0 based...) - I'm assuming the answer is basically "to be consistent"

