c语言中数组的下标可以是字符吗?代表什么意思?

s[ch]++;

ch是字符,上面的式子为什么可以表示字符“ch”的数目?

C语言数组的下标只能是合法的整型值。

当下标为字符时,有两种可能:
1 以字符常量作为下标。如a['A'];表示'A'的ascii码对应的数组偏移量。在实际应用中不常见,但是从语法上来说是合法的。
2 字符本身为变量。如
int i;
int a[100];
for(i = 0; i < 100; i ++)
printf("%d\n", a[i]);

这里的a[i],下标就是i,本质上i是一个变量,访问的时候是根据变量值进行访问对应元素的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26
下标是一个数字,一般都是这样的。

char 在C语言中,也算一个数吧,比如,你会发现字符'A'和其对应的ASCII码98(??),所以这样子用是可以的。

不过,切记,char的范围,它在-128~128之间,如果,没有使用好,比如ch++的,导致溢出,那可是会一直循环下去的。本回答被提问者采纳
第2个回答  2015-11-01
可以的
代表 字符对应的整型值
如 'A' 对应是 65
但是 使用字符 需要注意它的范围
第3个回答  2014-03-05
ch是变量名。
在定义数组的时候[ ]中必须是确定的整数,而在引用时可以是变量名,但是不能越界
s[ch]表示数组第ch+1个元素
第4个回答  2014-03-05
不能是字符,ch应该是个int的变量,你可以在上面仔细找找。
相似回答