c - 为什么我不能在以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 A或char B之前有一个表达式,我真的不明白这是什么意思,所以任何帮助将不胜感激 xD
解决方案
您不需要像(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()
它会自动从整数转换为字符。此外,您不需要在循环和条件中对单一语法使用花括号,建议这样做以避免混淆它们的结束范围。
推荐阅读
- javascript - nock 没有正确创建我的虚假请求
- c# - 如何更新实体框架中的元素列表?
- python - 如何以毫秒为单位计算 python 的“time.process_time()”的返回值
- python-3.x - 如何在 Python3.7 tkinter 中制作文本链接
- java - 添加 BouncyCastle Provider 会破坏 KeyStore.load()
- php - 通过php条件显示给定日期的所有数据
- python - 当scrapy完成时,我想从所有抓取的数据中创建一个数据框
- javascript - TestCafe:页面对象模型 - 使用一个公共的单一引用访问所有实例化的对象
- javascript - 为什么事件属性不容易获取?
- javascript - GetJSON 方法给出相同的值