运行循环时变量没有更新

问题描述 投票:0回答:1

我想遍历一个单词并打印它的每个字符及其 ASCII 数字。

我已经尝试过了

#include <iostream>
#include <stdio.h>

using std::cout;

int main()
{
    char cWord[30] = {"Larissa"};
    int iCounter = 0;
    char cLetter = cWord[iCounter];

    for (iCounter = 0; iCounter < 5; iCounter++) {
        printf("%c == %d \n", cLetter, cLetter);
    }
}

但这只会打印

L == 76
五次。我想这意味着当我运行 for 循环时
cLetter
变量不会更新,但我不明白为什么。

c for-loop dynamic-memory-allocation
1个回答
0
投票

您需要更新

cLetter
循环中,与早期代码没有神奇的联系。也可以将
cLetter
移动到循环内部。尝试一下

for (iCounter = 0; iCounter < 5; iCounter++) {
        char cLetter = cWord[iCounter];
        printf("%c == %d \n", cLetter, cLetter);
    }

这里,

iCounter
每次迭代都会更新,因此
cLetter
也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.