我对 C 比较陌生,我很好奇为什么我atoi
在这种情况下会遇到问题。我觉得我不理解一些基本的东西。这是我的示例代码:
int main()
{
char last[3];
last[2]='\0';
uint16_t num1;
uint16_t num2;
// I read in num1 and num2 from a file and do an integer operation on them. bigarray is the file contents. bigarray[i] is a integer
num1=bigarray[i] - 1;
num2=bigarray[i+1] - 1;
last[0]=(char)num1;
last[1]=(char)num2;
printf("%i\n:", atoi(last));
}
当我打印出来 last[0]
并last[1]
单独打印时,它会给我正确的值。当我打印出来时atoi(last)
,它给了我0
。
为什么在这种情况下atoi
给我,我0
该如何解决?