由于某些我无法理解的原因,当我在执行它时,这个程序会保持循环CMD.
#include <stdio.h>
int main() {
char array [] = {'b','f','r','o','a','u','v','t','o','\0'};
int grootteArray = sizeof(array);
int grootteChar = sizeof(char);
int lengteArray = grootteArray / grootteChar;
int i;
for (i = 0; i < lengteArray + 1; i + 2) {
printf("%c", array[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
每次循环后,您的计数器变量保持不变.您需要通过分配新值来增加它:
for (i=0; i<lengteArray+1; i=i+2) //change to this
Run Code Online (Sandbox Code Playgroud)
因为i从不改变.你应该分配i + 2给i:
for (i=0; i<lengteArray+1; i = i + 2) {
?
Run Code Online (Sandbox Code Playgroud)
你写它的方式对它的值没有影响i,它只是计算i + 2并且对这个值没有任何作用.
你得到了无限循环,因为它i被设置为0并且它总是0......所以曾经i < legteArray + 1,它将保持这样.