例如,当您使用a来增加变量时,执行此操作
for(k=1; k<21; k++)
正确?这意味着将重复for序列,直到k为20 那么,有没有办法增加一个字符变量?像a,b,c,d,e,f ......? 感谢。
问题是我想制作一张桌子,但是字符和字符增加一个。
我没有尝试任何事情,因为我是一名学生,我只是不知道如何做这样的事情,或者是否有任何命令可以做到这一点?
答案 0 :(得分:6)
不确定
char k;
for (k = 'a'; k <= 'z'; ++k) { }
答案 1 :(得分:1)
所有字符都有关联的数值。请查看以下链接:http://www.ascii-code.com/
这是一个片段:你会看到国会大厦的角色'A'从数字值65开始,然后B,C,D等都是另外1个。
65 101 41 01000001 A A Uppercase A
66 102 42 01000010 B B Uppercase B
67 103 43 01000011 C C Uppercase C
68 104 44 01000100 D D Uppercase D
69 105 45 01000101 E E Uppercase E
小写是相同的,除了具有不同的起始值97:
97 141 61 01100001 a a Lowercase a
98 142 62 01100010 b b Lowercase b
99 143 63 01100011 c c Lowercase c
100 144 64 01100100 d d Lowercase d
101 145 65 01100101 e e Lowercase e
由于一个字符实际上只是表示这个ascii整数值,你可以像在注释中指示的那样使用Lashane,并像循环一样循环。
答案 2 :(得分:0)
char
是一个(相对较窄的)整数类型,您可以像对任何其他数字类型一样对char
值执行算术运算。
但要小心。该语言仅保证'0'
,'1'
,...,'9'
的数值是连续的,因此:
for (char c = '0'; c <= '9'; c ++) {
// ...
}
将遍历十位十进制数字。这种语言对字母没有这样的保证,所以这个:
for (char c = 'a'; c <= 'z'; c ++) {
// ...
}
不保证迭代26个小写字母。
在实践中,您不太可能遇到不起作用的系统。它恰好适用于使用基于ASCII的字符系统(包括Latin-1,Unicode等)的任何系统。但IBM大型机使用不同的字符集EBCDIC,其中字母没有连续的值。
如果你需要迭代大写字母,你可以不担心你的代码不是100%可移植的,或者你可以编写不依赖于它们的表示的代码:
const char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
for (int i = 0; i < sizeof alphabet; i ++) {
const char c = alphabet[i];
// ...
}
(但即使这样也会跳过其他小写字母,例如'é'
和'ç'
。)