一道sum求和题目

short input[10]={'A','B','C','D','E'};  //short是两个字符的
 int s = 0; 
 char* p = (char*)input; 
 printf("'0'-'A' = %d\n",'0'-'A');
 for(int i=0;i<sizeof(input);++i){ 
  char v = p[i];  //此处一定要注意v是字符型的,截断的
  if(v>0)   //只有在0,2,4,6,8才是ABCDE进来的
   s+=v-'A'+i;  
 printf("sum = %d\n",s );

在计算时候,看清题目,一定要注意,数据类型的存储大小,会出现截断~平时自己写代码,也要注意

s = (0 + 0)+(1+2)+(2+4)+(3 + 6)+(4 + 8) = 30  

原文地址:https://www.cnblogs.com/cheng07045406/p/3033142.html