这个程序进入无限循环

-1 c for-loop infinite-loop

#include <stdio.h>

int i;
int buf[20];

void main(){
    int x = 3;
    for(i = 6; i < 12; i+2){
        buf[i] = 5;
        printf("print1 : %d \n", i);
        buf[i+1] = 5;
        printf("print 2 :%d \n", i);
   }

   for(i = 6; i < 12; i++){
       printf("%d\n", buf[i]);
   }

}
Run Code Online (Sandbox Code Playgroud)

此代码进入infine循环并打印仅打印1:6打印2:6.为什么?

qua*_*dev 5

因为你不修改i.

更改for(i = 6; i < 12; i+2)到:

for(i = 6; i < 12; i+=2)
                    ^^
Run Code Online (Sandbox Code Playgroud)