我一直在從幾個不同的角度攻擊atoi,試圖一次從字符串中提取一個數字。使用atoi
問題1 - 漿紗陣列
如果這種陣列的50個字符是尺寸爲50或51的(以考慮空終止)?
char fiftyNumbersOne[51] = "37107287533902102798797998220837590246510135740250";
問題2 - 的atoi輸出
我在做什麼錯在這裏?
char fiftyNumbersOne[51] = "37107287533902102798797998220837590246510135740250";
int one = 0;
char aChar = fiftyNumbersOne[48];
printf("%c\n",aChar);//outputs 5 (second to last #)
one = atoi(&aChar);
printf("%d\n",one);//outputs what appears to be INT_MAX...I want 5
謝謝,這有很大的幫助。最後一個問題。爲什麼要得到我的字符串中的最後一個字符我需要使用索引49?我認爲這將是指數50 ...? – 2011-04-29 19:10:03
@ P.Brian.Mackey,因爲數組在C中是從零開始的。第一個元素的索引爲0,第二個的索引爲1,第n個元素的索引爲n-1。 – rlibby 2011-04-29 19:14:32
@ P.Brian:因爲數組是基於* 0的*,所以第一個元素是'x [0]',第二個元素是'x [1]',依此類推。 – 2011-04-29 19:14:49