首页 > 编程知识 正文

c语言结构体成员赋值,c语言结构体输入学生信息

时间:2023-05-06 07:40:08 阅读:148390 作者:202

满意的回答

ccjiabaobei

2016.04.13推荐

合格率: 56%等级: 12

帮助: 8921人

#包含

结构人员

{

char name[10];

int num;

(;

void main () )

{

struct person per[5];

voidsort(structPerson*,int );

int i;

打印薄片3360 (n );

for(I=0; i5; I )

{

打印(name : );

scanf('%s ',per[i].name );

printf(num: );

scanf('%d ',per[i].num );

}

sort(per,5 );

for(I=0; i5; I )

printf(print:%s%d(n ),per[i].name,per[i].num );

getch (;

}

voidsort(structperson*a,int n ) ) ) ) ) ) ) ) ) ) voidsort(structperson*a,int n ) ) )

{

int i,j,t;

for(I=0; I

for(j=0; Jj

if(a(I ).numa ) (j ).num ) )。

{

t=a[i].num; /*在你的代码中I写着j,这是个细节问题*/

a[i].num=a[j].num;

a[j].num=t;

}

}

你的代码有点问题。 我帮你修好了。 TC测试通过了。

除了关注的地方,还有几个需要注意的地方:

您的源代码正在发送per[0].num的地址。 请记住a[0]。 但是,a[1]的地址不相等

per[1].num的地址。

我不能理解指针加1的意思。

列席。

int a[10];

那么,*(a1 )的意思是将a地址移动到sizeof(int )的后面。

所以你的那个a[1]指向的还是结构体中的数据。 嗯,这里体现了低级语言的特性。 每个存储器的每一位都必须考虑。 通过编写程序,200位浮点数加法计算机考虑到各位的内存,调试时更能体会到一个内存需要一次运算。 代码在我的baidu空间里,你可以自己去看)

不明白的问题

00共享通报

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。