急急,!!!!C语言调用函数时指针数组的赋值问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 21:04:14
main()
{int n;
Node *t[5];
for(n=0;n<5;n++)
t[n]=NULL;
diaoyong(t[5]);
}
为什么在被调用的函数diaoyong()里t[0],t[1],t[2],t[3],t[4]不等于NULL;求高人解答.
如果要使被调函数diaoyong()里的t[0],t[1],t[2],t[3],t[4]等于NULL,应该怎么修改主函数,不修改被调函数内部

错误很低级
diaoyong()应该是接受一个数组为参数的吧,正确的调用方法是
diaoyong(t);

而diaoyong(t[5])是传给函数一个不存在的t数组的第六个元素!

因为数组t的元素是t[0]~t[4],不包含t[5]这个元素,而且在
for(n=0;n<5;n++)
t[n]=NULL;

这个循环中,也没有为t[5]赋值(而且这样做也是危险的)

修改如下:

Node *t[5];
改为
Node *t[6];

for(n=0;n<5;n++)
改为
for(n=0;n<6;n++)