字符与数值运算的有关问题
字符与数值运算的问题
这里的c - 97 是c的ascII编码-数值97对吗?
------解决思路----------------------
对。97实际上就是'a'的ascii编码。
这段代码改成这样也是一样的效果,但是看着更清楚:
if (c >= 'a' && c <= 'z')
{
va[c - 'a']++;
------解决思路----------------------
更准确的说是保存在int类型变量 c 中的字符(这里是小写字母)的ascii编码-数值97。
int c;
int i,va[26] = {0};
while ((c = getchar()) != '\n')
{
if (c >= 97 && c <= 122)
{
va[c - 97]++;
printf("if\n");
}
}
这里的c - 97 是c的ascII编码-数值97对吗?
------解决思路----------------------
对。97实际上就是'a'的ascii编码。
这段代码改成这样也是一样的效果,但是看着更清楚:
if (c >= 'a' && c <= 'z')
{
va[c - 'a']++;
------解决思路----------------------
更准确的说是保存在int类型变量 c 中的字符(这里是小写字母)的ascii编码-数值97。