C语言函数体无法将参数2从"void"转换为"……"

C语言函数体无法将参数2从"void"转换为"……",第1张

只需要将该void *类型成员,强制转换为具体的数据类绝铅型指针即可。需要注意的是,该强制转换是有风险的,转换时,必须确定void*指向内存实际数据为目标结构体格式,否则可能会出现内存越界访问,从而导致程序出现不确定结果。参考代码如下,具有结构体A struct A{ int a}及结构体B,包含有void *类型成员p struct B{ void *p}将结构体B 变量b中的void *p转轿缓为struct A*指针的并帆好方式为 struct A*pa=(struct A*)b.p

因为矩阵转置是以主对角线为对称轴对调两侧的相应元素,

所以只要遍历半个矩阵(矩阵的弊绝启下三角区域)与另半个矩阵对调,就行了.

你遍历了整个矩阵,等于整个矩阵以主对角线为轴对调了两次(转置了两次),所以矩阵没变.

解决方法 把自定义的转置租如函数的内循环宏雹(for_j循环)终止条件由j小于3改成j小于i,就行了.

完整的程序如下(改动的地方见注释,仅有一处)

这里为什么要返回这个结构体呢?想法是什么?

应该是return 0

在我看来,你其实是将struct student *creat(void)函数内的代码直接复制到了主函数内了,但是这个函数的返回不启高是主悄禅尺函数的。主函数的返回式袭渗这样定义的,零表示没有错误,其他表示错误代码。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12344135.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存