Java如何用单个循环遍历a-z字母及单引号'?
当然可以在单个循环里实现!
有几种简单的方式能满足你的需求,我给你整理了两种实用的方案:
方案1:用字符数组定义遍历序列(推荐)
这种方法最直观,不管字符的ASCII码顺序如何,都能严格按照你想要的顺序遍历,而且以后要加其他字符也特别方便:
#include <stdio.h> int main() { // 把要遍历的字符按顺序放进数组里,末尾的'\0'是字符串结束标志 char target_chars[] = "abcdefghijklmnopqrstuvwxyz'"; // 遍历数组直到遇到结束符 for (int i = 0; target_chars[i] != '\0'; ++i) { char current_char = target_chars[i]; // 这里实现你的需求:拼接"Hi"和当前字符并输出 printf("Hi%c\n", current_char); } return 0; }
运行这段代码,就能输出你想要的Hia, Hib, ..., Hiz, Hi'序列啦。
方案2:修改原循环的终止逻辑
如果你想基于原来的循环结构调整,可以用一个无限循环配合条件判断,在遍历完z之后处理单引号再退出:
#include <stdio.h> int main() { char ch; for (ch = 'a'; ; ++ch) { // 处理当前字母 printf("Hi%c\n", ch); // 当遍历到z时,处理单引号然后终止循环 if (ch == 'z') { printf("Hi%c\n", '\''); break; } } return 0; }
这个方案不需要额外定义数组,但如果以后要扩展字符序列,修改起来不如方案1灵活。
两种方案都能实现你的需求,个人更推荐方案1,代码可读性和可维护性更强~
内容的提问来源于stack exchange,提问作者Chip
相关产品推荐
相关产品推荐

