自己不理解为什么答案选择B

15.有以下程序
void f(int *q)
{
int i=0;
for(;i<5;i++)(*q)++;
}
void main()
{
int a[5]=(1,2,3,4,5),i;
f(a);
for(i=0;i<5;i++)
printf(“%d,”,a[i]);
}
程序运行后的输出结果是A.2,2,3,4,5, B.6,2,3,4,5, C.1,2,3,4,5, D.2,3,4,5,6,

这代码怎么这么乱啊
for(;i<5;i++)(*q)++;
这个循环q指针没有移动,一直指向数组的第一个元素,循环5次,导致第一个元素值增加了5,所以最后输出时第一个元素变为6,其它没有变化