- 论坛徽章:
- 0
|
本帖最后由 toniz 于 2010-05-24 18:48 编辑
首先,正确代码是错误的。- fun_re(){
- void ave(STU *ps)
- {
- }
- }
复制代码 函数里的函数?!
其次,没有明白这句是什么意思:- struct stu
- {
- int num;
- char *name;
- char sex;
- float score;}boy[5]={
- {101,"Li ping",'M',45},
- {102,"Zhang ping",'M',62.5},
- {103,"He fang",'F',92.5},
- {104,"Cheng ling",'F',87},
- {105,"Wang ming",'M',58},
- };
复制代码 所以你会写出这样的CODE:- typedef struct
- {
- int num;
- char *name;
- char sex;
- float score;}boy[5]={
- {101,"Li ping",'M',45},
- {102,"Zhang ping",'M',62.5},
- {103,"He fang",'F',92.5},
- {104,"Cheng ling",'F',87},
- {105,"Wang ming",'M',58},
- }STU;
复制代码 照你的原意修改的代码:- use Inline C => <<'END_C';
- #include <stdio.h>
- typedef struct
- {
- int num;
- char *name;
- char sex;
- float score
- }STU;
- void fun_re(){
- STU boy[5]= {
- {101,"Li ping",'M',45},
- {102,"Zhang ping",'M',62.5},
- {103,"He fang",'F',92.5},
- {104,"Cheng ling",'F',87},
- {105,"Wang ming",'M',58},
- };
- STU *ps;
- void ave(STU *ps);
- ps=boy;
- ave(ps);
- }
- void ave(STU *ps)
- {
- int c=0,i;
- float ave,s=0;
- for(i=0;i<5;i++,ps++)
- {
- s+=ps->score;
- if(ps->score<60) c+=1;
- }
- printf("s=%f\n",s);
- ave=s/5;
- printf("average=%f\ncount=%d\n",ave,c);
- }
- END_C
- fun_re;
复制代码 |
|