簡體   English   中英

如何在 C 中將 char 二維數組轉換為 int

[英]How to convert a char 2D array to int in C

我有一個名為 char newString[][] 的 char 2D 數組,我想將第 2 行和第 3 行轉換為整數。 假設 newString[2]= {1,2} 和 newString[3]= {2,2]} 我試圖通過將我的二維數組轉換為 integer 來獲得 int n = 12 和 int m = 22。 因為后來我想做 m^n ( m 的 n 次方)。

     char newString[32][32];
     int n;
     int m;

  // let newString[2]= {1,2}
  // let newString[3]= {2,2}
  // convert it to an int 

     m = newString[2] - '0'; // I want m = 12
     n = newString[3] - '0';  // n = 22

我知道如果分配給 integer,char - '0' 會給你一個 integer,但是如何將二維數組分配給 integer

我嘗試使用這些,但它們僅適用於 1D arrays,有什么想法嗎?

function: strtol()不會執行所需的功能,因為沒有尾隨 NUL 字節,因此沒有要轉換的字符串。

建議:

// given
char newString[][] =
{
    { '1', '2'},
    { '2', '2'}
};

// convert to integers
int n = newString[0][0] - '0';
n     = n*10 + (newString[0][1] - '0');


int m = newString[1][0] - '0';
m     = m*10 + (newString[1][1] - '0');

// which results in:
// n contains 12
// m contains 22

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM