来改个C的错题吧.

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:48:49
#include "stdio.h"
#include "string.h"
#define N 5
typedef struct{
char num[10];
int fen;
}STR;
void fun(STR *s,char *xue,STR *h){
int i,j;
for(i=0;i<N;i++)
if((strcmp(s[i].num,xue))==0){
*h=s[i];
break;
}
else{
*h->num=" ";这一句和下面一句有问题,不知道怎么改了.
*h->fen=-1;
}
}
main(){
STR s[N]={{"a001",65},{"a002",78},{"a003",89},{"a004",98},{"a005",23}},h;
char xue[10];
clrscr();
printf("Input xue hao: ");
gets(xue);
fun(s,xue,&h);
printf("\nxue hao:%s,fen shu:%d\n",h.num,h.fen);
}
*h->fen=-1也有问题...

*h->num=" ";这一句和下面一句有问题,不知道怎么改了.
*h->fen=-1;

//" "在改成' ',单引号之间有一个空格.因为你定义的结构是char型," "是字符串了
//main()中的
clrscr();错了,好像是清屏的意思,我不知道怎么改这个了.

h->num[0]=0就可以了