全部问题 > 当前问题

代码不是很懂

有以下程序
#include <stdio.h>
main()
{ int c[3]={0},k,i;
  while((k=getchar())!='\n')
  c[k-'A']++;
  for(i=0;i<3;i++)
  printf("%d",c[i]);
  printf("\n");
}
若程序运行时对从键盘输入ABCACC<回车>,则输出结果是 __【12】__ 。

紫雨静心 2016-8-1 22:21:49

共 3 个回答

嘿嘿大人 2016-8-1 22:23:35

你分析出来看看

紫雨静心 2016-8-1 22:36:34

回复 嘿嘿大人:当输入A时c[k-'A']++为什么是c[0]++?这里k-'A'是什么意思?

嘿嘿大人 2016-8-2 22:17:54

回复 紫雨静心:k是一个字符撒,比如k现在是'A',那么k-‘A’的值就是0了撒,所以0就代表的是字符A,自加了一之后就代表有了一个A字符

问题来自: 字符数组