十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
读写文件一般都用fread和fwrite 打开的时候一般用rb或wb 二进制打开。
成都创新互联公司是一家集网站建设,石拐企业网站建设,石拐品牌网站建设,网站定制,石拐网站建设报价,网络营销,网络优化,石拐网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
check函数中的ends变量需要初始化一下!
int check(char* a){
printf("begins");
int j;
int begins=0;
int ends = 0;// 在这里把ends初始化一下就OK了!
printf("begins");
for(j=0;jstrlen(a);j++){
if(*(a+j)==' '*(a+j-1)!=' ') ends = j-1;
if(*(a+j)==' '*(a+j+1)!=' ') begins = j+1;
reverse(a,begins,ends);// 因为你每次调用这个函数的时候,只有ends或begins中的一个被赋值,如此,如果ends没有被初始化,编译器就会报警!
}//for循环结束
printf("ends");
return 0;
}
改动如下:
#include stdio.h
#includestring.h
enum gender
{
male,famale
};
typedef struct course
{
char coursename[10];
int coursescore;
}STC;
typedef struct student
{
long studentnumber;
char name[20];
int age;
enum gender sex;
STC coursescore[3];
struct student *next;
void (*ptooutput)(struct student*); // 改动1:改成指针,与output函数匹配
}STD;
void output(struct student *p)
{
int i;
printf("学生%s:\n",p-name);
printf("他的学号是%ld\n",p-studentnumber); // 改动2:学号
printf("他的年龄是%d\n",p-age); // 改动3:年龄
if(p-sex==0)
{printf("他的性别是男\n");}
else
{printf("他的性别是女\n");}
for(i=0;i3;i++)
{
printf("他的%s",p-coursescore[i].coursename);
printf("成绩是%d\n",p-coursescore[i].coursescore);
}
}
main()
{
STD a;
a.studentnumber=1011110201;
strcpy(a.name,"叶超");
a.age=19;
a.sex=male;
strcpy(a.coursescore[0].coursename,"数学");
a.coursescore[0].coursescore=87;
strcpy(a.coursescore[1].coursename,"英语");
a.coursescore[1].coursescore=72;
strcpy(a.coursescore[2].coursename,"C语言");
a.coursescore[2].coursescore=66;
a.ptooutput = output; // 改动4:设置打印函数指针
a.ptooutput(a); // 改动5:输入参数为指针
}