我一直在从几个不同的角度攻击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