C语言中用结构体类型作为自定义函数的返回值时,如果用户输入的数据在结构体中不存在,则出现NULL,此时会

#include<stdio.h>typedefstruct{  intid;  charname[20];}stu;... #include<stdio.h>typedef struct{   int id;   char name[20];}stu;stu info[100];stu getStuByid(int id,stu info[]){   int inc=0;   stu* p;   p=info;   for(inc=0;id!=info[inc].id;inc++);   if(p==NULL)     return ?//请问此处改怎么返回?   else     return info[inc];}void main(){   printf("id\\>");   scanf("%d",&id);   getStuByid(id,info);   printf("%d\t%s\n",getStuByid(id,info).id,getStuByid(id,info).name);} 展开
 我来答
靓丽还清湛的标兵5177
2012-02-03 · TA获得超过1649个赞
知道小有建树答主
回答量:1032
采纳率:100%
帮助的人:1014万
展开全部
#include<stdio.h>
typedef struct{ int id; char name[20]; } stu;
stu info[100];
stu getStuByid(int id /*,stu info[]*/){
int inc=0;
static stu infoNULL = {-1,"Not Found"};//添加一个做为空的返回值
stu* p;
p = info;
for(inc=0;id!=info[inc].id && inc<sizeof(info);inc++);//for(inc=0;id!=info[inc].id;inc++);
if(inc==sizeof(info))//(p==NULL)
return infoNULL; //请问此处改怎么返回?//改的可不止此处哦
else
return info[inc];
}
void main(){
//在使用info前应当有个赋值的过程吧
printf("id\\>");
scanf("%d",&id);
getStuByid(id /*,info*/);
printf("%d\t%s\n",getStuByid(id,info).id,getStuByid(id,info).name);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式