[英]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.