有没有办法增加一个角色?

时间:2014-03-12 01:57:35

标签: c++ c variables dev-c++

例如,当您使用a来增加变量时,执行此操作

for(k=1; k<21; k++)

正确?这意味着将重复for序列,直到k为20 那么,有没有办法增加一个字符变量?像a,b,c,d,e,f ......? 感谢。

问题是我想制作一张桌子,但是字符和字符增加一个。

我没有尝试任何事情,因为我是一名学生,我只是不知道如何做这样的事情,或者是否有任何命令可以做到这一点?

3 个答案:

答案 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   &#65;       Uppercase A
66  102 42  01000010    B   &#66;       Uppercase B
67  103 43  01000011    C   &#67;       Uppercase C
68  104 44  01000100    D   &#68;       Uppercase D
69  105 45  01000101    E   &#69;       Uppercase E

小写是相同的,除了具有不同的起始值97:

97  141 61  01100001    a   &#97;       Lowercase a
98  142 62  01100010    b   &#98;       Lowercase b
99  143 63  01100011    c   &#99;       Lowercase c
100 144 64  01100100    d   &#100;      Lowercase d
101 145 65  01100101    e   &#101;      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];
     // ...
}

(但即使这样也会跳过其他小写字母,例如'é''ç'。)