在介绍代码之前,先介绍一下背景知识:我有一个名为 的字符指针数组math
,现在,在while
循环中,我试图将数学中的值转换为int
usingatoi
并将其保存在int
variableai
中。没有编译错误。但是,当我尝试打印时ai
,它并没有打印出来。程序以某种方式运行而不会崩溃。我无法弄清楚问题是什么,如果有问题程序应该崩溃atoi
,如果没有问题那么它应该打印ai
。
代码如下:
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++;
}