Перед тем, как представить код, немного фона: У меня есть массив указателей символов по имени math
, теперь, в петле while
Я пытаюсь преобразовать значение в математике, чтобы int
используя atoi
и сохраняя его в переменной int
ai
. Ошибок компиляции нет. Однако, когда я пытаюсь напечатать ai
, он не печатает его. Как-то программа работает без сбоев. Я не могу понять, в чем проблема, и если есть проблема, программа должна потерпеть крах на atoi
, и если нет проблемы, тогда она должна напечатать ai
.Значение, возвращаемое atoi не может быть распечатана
код выглядит следующим образом:
int c1 = 3; //the array contains 3 characters 1 2 3
int c2 = 0;
while(c2 < c1)
{
int ai;
ai = atoi(math[c2]);
// the array is valid, I have checked it time and again so is the content in array
write(STDOUT_FILENO,math[c2],1); //this works fine.
write(STDOUT_FILENO,&ai,sizeof(&ai));
//this doesn't print anything and somehow loop goes on to meet
//the condition.
c2++;
}
что такое "математика [c2]"? Как это определяется? – trumpetlicks
его c2 ++; на второй последней строке, извините за опечатку. – Salik
math [c2] - массив указателей символов и определяется как: char * math [10]; – Salik