永发信息网

我想知道这段程序是怎错的

答案:3  悬赏:0  手机版
解决时间 2021-05-17 20:44

#include<stdio.h>
struct STU
{
 char name [10];
 int num;
 float Totalscore;
};
void f(struct STU *p)
{
 struct STU s[2]={{"SunDan",20044,550},{"Penghua",20042,5837}; *q=s;
 ++p;++q; *p=*q;
 }

int main()
{
 struct STU s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};
  f(s);
 printf("%s %d %3.0f\n",s[1].name,s[1].num,s[1].TotalScore);
 return 0;
}

最佳答案
struct STU s[2]={{"SunDan",20044,550},{"Penghua",20042,5837}} , *q=s;
全部回答
++p; 这里错了吧?

两个结构体的数据是不能这样直接交换的。只能一个字节一个字节进行交换。像这样。

void swap_struct_data(char *ptr_a, char *ptr_b, int size) {   char p;   while (size--!=0)   {     p=*ptr_a;     *ptr_a=*ptr_b;     *ptr_b=p;     ptr_a++;     ptr_b++;   } } 调用

struct STU stu_b;

struct STU stu_a;

swap_struct_data((char *)&stu_a,(char *)&stu_b,sizeof(struct STU));

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
雨花区长沙千金大药房(嘉品店)这个地址在什么
谁能介绍几首好听的英文歌曲
求圆X的平方+Y的平方-4=0与圆X的平方+Y的平方
QQ会员最便宜多少钱一年?
2009基层政法机关定向招录通知书到底什么时候
方城县南阳雅迪电动车哪位知道具体地址啊
山西打电话到哈尔滨1分钟多少钱?
把心交给一个人,容易吗?
中国有哪些快递公司?宅急送快递公司口啤如何
岳阳楼区岳阳洁雅宾馆哪位知道具体地址啊
偏光眼镜什么材质的好,偏光镜什么材质的好
罗比威廉姆斯的经典歌曲
QQ有哪些免费图标可开?
东洋文化用品商行地址在哪,我要去那里办事
求2K10 PC 中文版 下载地址
推荐资讯
关于长脚藓~
怎么查看微信剩余额度,淘宝花呗里还有可用额
让爸妈买东西的技巧
新安县洛阳科技职业学院学术报告厅这个地址在
蚌埠到武夷山多少公里,从武夷山到重庆 最好的
可口可口系边度出噶
18号SJ上海二巡?
清朝有多小年的历史
怎样学会去接受他
数字祝福红包生日,生日红包数字的含义1880
空间 相册 装扮
求CAD和3D的师傅?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?