首页 > 解决方案 > 为什么我不能在以for循环中的条件为例时动态声明变量?

问题描述

我制作了这段代码,使用他们的 ascii 代码遍历字母表

#include <stdio.h>

int main() {
    for ( int alphabet = (int) char A = 'A'; alphabet <= (int) char Z = 'Z'; alphabet++) {
        printf("The number of the Alphabet %c is %d\n ",(char) alphabet , alphabet  );
    }
}

但是在编译它时只是说它应该在char Achar B之前有一个表达式,我真的不明白这是什么意思,所以任何帮助将不胜感激 xD

标签: cfor-loop

解决方案


您不需要像(int) char A = 'A'表示字符那样定义标识符。

只需执行以下操作:

for (int alphabet = 'A'; alphabet <= 'Z'; alphabet++)
    printf("The number of the Alphabet %c is %d\n", alphabet, alphabet);

请注意,您不需要在 中使用(char)printf()它会自动从整数转换为字符。此外,您不需要在循环和条件中对单一语法使用花括号,建议这样做以避免混淆它们的结束范围。


推荐阅读