c语言结构体函数实例 c语言结构体在函数中使用

C语言结构体类型函数

void f(A c) /* 注意:c结构变量名 但这个c也是个复制品,与原实参只是一样的内容,却不是同一个!! */ 所以结果还是a={1,2}; 答案为B

创新互联是一家专注网站建设、网络营销策划、微信小程序、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为上千多家成都户外休闲椅各业的企业公司提供互联网服务。现在,服务的上千多家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

C语言结构体函数

STU  f (STU  a)

{  STU  b={"Zhao", 'm', 85, 90};

int  i;

strcpy( a.name, b.name );

a.sex = b.sex;

for ( i=0; i2; i++ )  a.score[i] = b.score[i];

以上是将b中的数据赋值给a,相当于a=b;这样的一个操作

return  a; 

}

main()

{  STU  c= { "Qian", 'f', 95, 92 }, d;

d = f(c);//这里传的c是个复制品(传递的不是结构体指针),所以c不会变,d接收f()函数的返回值,因为返回值的内容是f()中的b的值,所以,d与c不同

printf ("%s,%c,%d,%d, ", d.name, d.sex, d.score[0], d.score[1]);

printf ("%s,%c,%d,%d\n", c.name, c.sex, c.score[0], c.score[1]);

}

输出结果为:A)  Zhao,m,85,90, Qian,f,95,92

c语言结构体怎么用函数实现?

# includestdio.h

# includemalloc.h

struct stu    //结构体

{

int age;

float score;

char name[100];

};

void shuru (int len, stu * pArr)  

{

int i;

for(i = 0; ilen; i++)

{

printf("请输入第%d个学生的信息\n",i+1);

printf("name = ");

scanf("%s",pArr[i].name);

printf("age = ");

scanf("%d", pArr[i].age);

printf("score = ");

scanf("%f", pArr[i].score);

}

return;

int main(void)

{

int len ,i;

struct stu * pArr,t;

printf("请输入学生的个数:\n");

printf("人数= ");

scanf("%d",len);

pArr = (struct stu *)malloc(len * sizeof(struct stu));  

shuru(len, pArr);

for(i=0; ilen; i++)

{

if(pArr[i].score  pArr[i+1].score)

{

t = pArr[i+1];

pArr[i+1] = pArr[i];

pArr[i] = t;

}

}

i =0;

printf("\n\n排序后的学生信息为\n\n");

for(i=0; ilen; i++)

{

printf("name = %s\n",pArr[i].name);

printf("age = %d\n",pArr[i].age);

printf("score = %f\n",pArr[i].score);

printf("\n\n");

}

return 0;

}

这样就行了,你的排序还没实现, 仿照输入的函数实现就OK


网页题目:c语言结构体函数实例 c语言结构体在函数中使用
链接分享:http://myzitong.com/article/doeccdd.html