c语言中用什么表示空串,C语言怎么表示空串

3. 编程题

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#define N 16

typedef struct

{ char num[10];

int s;

}STREC;

STREC fun(STREC *a, char *b)

{int i;

STREC h;

for(strcmp(a[i].num,b)==0)

{h=a[i];break;}

else{h.num=" ";h.s=-1;}

return h;

}

main()

{

STREC s[N]={{ "GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

{"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};

STREC h;

char m[10];

int i, n;

FILE *out;

printf("The original data:\n");

for(i=0;i

{ if(i%4==0)

printf("\n"); /*每行输出4个学生记录*/

printf("%s %3d",s[i].num,s[i].s);

}

printf("\n\nEnter the number: ");

gets(m);

h=fun(s,m);

printf("The data: ");

printf("\n%s %4d\n",h.num,h.s);

printf("\n");

out=fopen("out17.dat", "w");

h=fun(s, "GA013");

fprintf(out, "%s %4d\n",h.num,h.s);

fclose(out);

}

上面这个运行时侯显示错误,就是这句else{h.num=" ";h.s=-1;}

错误,我用" "表示空串看来不行那位高人解答一下用什么表示空串?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值