c语言中结构体数组传入函数 20
如structlinknodenode[8]这样定义的结构体数组;应该怎样的格式才能将它传入一个函数并对其中的值进行改变trans(node[8]);//系统提示我这行有...
如struct linknode node[8]这样定义的结构体数组;应该怎样的格式才能将它传入一个函数并对其中的值进行改变
trans(node[8]); //系统提示我这行有错
101 incompatible type for argument 1 of `trans' // 这是错误原因
void trans(struct linknode node[8])
{int o,i,m;
for(o=0;o<8;o++)
{for(i=0;i<2;i++)
{m=node[o].near[i];
for(i=0;i<8;i++)
{if((node[m].dtc[i]+node[o].dtc[m])<=node[o].dtc[i])
{node[o].dtc[i]=(node[m].dtc[i]+node[o].dtc[m]);
node[o].path[i]=m;
}
}
}
}
} //这是我写的函数
老是不知道哪里错了,蛋疼一下午了 展开
trans(node[8]); //系统提示我这行有错
101 incompatible type for argument 1 of `trans' // 这是错误原因
void trans(struct linknode node[8])
{int o,i,m;
for(o=0;o<8;o++)
{for(i=0;i<2;i++)
{m=node[o].near[i];
for(i=0;i<8;i++)
{if((node[m].dtc[i]+node[o].dtc[m])<=node[o].dtc[i])
{node[o].dtc[i]=(node[m].dtc[i]+node[o].dtc[m]);
node[o].path[i]=m;
}
}
}
}
} //这是我写的函数
老是不知道哪里错了,蛋疼一下午了 展开
7个回答
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
trans(node); //改成trans(node);
void trans(struct linknode node[8])
{int o,i,m;
for(o=0;o<8;o++)
{for(i=0;i<2;i++)
{m=node[o].near[i];
for(i=0;i<8;i++)
{if((node[m].dtc[i]+node[o].dtc[m])<=node[o].dtc[i])
{node[o].dtc[i]=(node[m].dtc[i]+node[o].dtc[m]);
node[o].path[i]=m;
}
}
}
}
}
展开全部
吧 node 传入 函数中就行了 node代表的是结构体数组的首地址
然后再用 node【n】 来对n个结构体操作
node【n】。xx = ? 就可以 对第n个结构体下的xx字段 进行更改了
这个思路希望对你有启发
然后再用 node【n】 来对n个结构体操作
node【n】。xx = ? 就可以 对第n个结构体下的xx字段 进行更改了
这个思路希望对你有启发
追问
trans(node[8]); //系统提示我这行有错
101 incompatible type for argument 1 of `trans' // 这是错误原因
追答
trans(node[8]); 改成trans(node);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
linknode *p,int n呗,
调用的时候函数实参写(node,8)就行了
调用的时候函数实参写(node,8)就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语句
trans(node[8]);
改成这样试试:
trans(node);
trans(node[8]);
改成这样试试:
trans(node);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun(linknode* node, int len) 前面是传数组头指针进去,后面是数组长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询