cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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  

posted on 2013-04-20 21:01  cheng_you_know  阅读(157)  评论(0编辑  收藏  举报