atoi, кажется, не работает должным образом

for(int y = 0; y < 5; y++)
{   
   char cst1[2] = {info[x+2], info[x+3]};
   char cst2[2] = {info[x+5], info[x+6]};
   sales[count][atoi(&info[x]) - 1] = atoi(cst1) + atoi(cst2);
   x += 8;
}

Каждый раз, когда я делаю следующий код, значение atoi(cst1) умножается на два, затем добавляется, а atoi(cst2) умножается на 100, а затем добавляется, не могу понять, почему


person user1767077    schedule 15.12.2012    source источник
comment
cst1[2] и cst2[2]` должны быть установлены в '\0'.   -  person Jonathan Wood    schedule 15.12.2012


Ответы (1)


cst1 и cst2 не кажутся завершенными NUL.

char cst1[] = {info[x+2], info[x+3], '\0'};
char cst2[] = {info[x+5], info[x+6], '\0'};
person John Kugelman    schedule 15.12.2012