在 C 和 C 中将 char 转换为 int

新手上路,请多包涵

如何在 C 和 C++ int char

原文由 mainajaved 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 387
1 个回答

使用“long long”而不是“int”,因此它适用于更大的数字。这是优雅的解决方案。

 long long ChardToint(char *arr, size_t len){

int toptenf=1;
long long toptenLf=10000000LL;
long long makeintf=3000000000000;


  makeintf= 0LL;

   int holdNumberf=0;
for(int i=len-1;i>=0 ;i--){
 switch(arr[i]){
      case '0':
      holdNumberf=0;
      break;
      case '1':
      holdNumberf=1;
      break;
      case '2':
      holdNumberf=2;
      break;
      case '3':
      holdNumberf=3;
      break;
      case '4':
      holdNumberf=4;
      break;
      case '5':
      holdNumberf=5;
      break;
      case '6':
      holdNumberf=6;
      break;
      case '7':
      holdNumberf=7;
      break;
      case '8':
      holdNumberf=8;
      break;
      case '9':
      holdNumberf=9;
      break;

      default:
       holdNumberf=0;
}
  if(toptenf>=10000000){
      makeintf=makeintf+holdNumberf*toptenLf;


      toptenLf=toptenLf*10;
   }else{
     makeintf=makeintf+holdNumberf*toptenf;


    toptenf=toptenf*10;
   }
}
return makeintf;

}

原文由 Narutofan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题