程序保持循环

BUR*_*RNS 0 c

由于某些我无法理解的原因,当我在执行它时,这个程序会保持循环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)

Kun*_*nal 8

每次循环后,您的计数器变量保持不变.您需要通过分配新值来增加它:

for (i=0; i<lengteArray+1; i=i+2) //change to this
Run Code Online (Sandbox Code Playgroud)


Mar*_*oun 7

因为i从不改变.你应该分配i + 2i:

for (i=0; i<lengteArray+1; i = i + 2) {
                             ?
Run Code Online (Sandbox Code Playgroud)

你写它的方式对它的值没有影响i,它只是计算i + 2并且对这个值没有任何作用.

你得到了无限循环,因为它i被设置为0并且它总是0......所以曾经i < legteArray + 1,它将保持这样.