以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?

以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?(请问c怎么理解)
A.for ( i=0; i<10; i++ ) {...}
B.for ( i=0; i<10; ++i ) {...}
C.for ( i=0; i++<10;  ) {...}
D.for ( i=0; i<=9; i++ ) {...}
请问c怎么理解

C
A,B,D结束时,i值都为10;C结束时,i值为11
或者说A,B,D都是循环结束后i才加1
C是循环开始时i就加1了
比如代码块是:
for(int i=0;i++<10;)
{
printf("%d",i);
}
A,B,D输出是0到9
而C输出是1到10

C
C 的循环是 i=1,2,3,4,5--10
其他的循环是 i=0,1,2,3,4--9

for ( i=0; i++<10; )

初始循环变量i,初始值为0
循环判断条件,i++<10

i++ < 10 是指先判断i是否小于10,判断之后i的值再自增1

C  看不出来就写来运行看看,ABD都是0、1、2、……9  ,而 C的i是1、2、3、4……10

#include<stdio.h>> 
int main(){
	int n1=0,n2=0,n3=0,n4=0;
	for(int i=0; i<10; i++){
		printf("%d\n", i);
		n1 += 1;
	} 
	printf("循环%d次\n", n1);
	
	for(int i=0; i<10; ++i){
		printf("%d\n", i);
		n2 += 1;
	} 
	printf("循环%d次\n", n2);
	
	for(int i=0; i++<10; ){
		printf("%d\n", i);
		n3 += 1;
	} 
	printf("循环%d次\n", n3);
		
	for(int i=0; i<=9; i++){
		printf("%d\n", i);
		n4 += 1;
	} 
	printf("循环%d次\n", n4);	
	
	return 0;
} 

 

A、B、D循环10次;C循环11次。