c语言编译没错运行不出,编译没错但运行不出来,求高手解答 !!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

/*

** 地址列表模块的声明

*/

/*

** 数据特征

**

**     各种数据的最大长度(包括结尾的NULL字节)和地址的最大数量。

*/

#define NAME_LENGTH    30       /*允许出现的最长名字*/

#define ADDR_LENGTH    100       /*允许出现的最长地址*/

#define PHONE_LENGTH    11      /*允许出现的最长电话号码*/

#define MAX_ADDRESSES     1000     /*允许出现的最多地址个数*/

/*

**    每个地址的三个部分,分别保存于三个数组的对应元素中

*/

static char name[MAX_ADDRESSES][NAME_LENGTH];

static char address[MAX_ADDRESSES][ADDR_LENGTH];

static char phone[MAX_ADDRESSES][PHONE_LENGTH];

/*

** 接口函数

*/

static int find_entry(char const * name_to_find,char const (*p1)[NAME_LENGTH]);

/*

** 给出一个名字,查找对应地址

*/

char const *lookup_address(char const * name,char const (*p)[NAME_LENGTH],char const (*address)[ADDR_LENGTH]);

/*

** 给出一个名字,查找对应电话号码

*/

char const *lookup_phone(char const *name,char const (*p)[NAME_LENGTH],char const (*phone)[PHONE_LENGTH]);

void main()

{

static char name[MAX_ADDRESSES][NAME_LENGTH] = {"sdah","liuwu","liuwei","awwfg","fefef"};

static char address[MAX_ADDRESSES][ADDR_LENGTH] = {"beijing","nanchang","nanchang","guangzhou","feizhou"};

static char phone[MAX_ADDRESSES][PHONE_LENGTH] = {"15170001506","15270001506","15870001526","1532454405","242895832"};

char *p1,*p2;

char nam[NAME_LENGTH];

/*

**输入一个人的名字

*/

puts("输入这个人的姓名:\n");

gets(nam);

p1 = lookup_address(nam,name,address);

p2 = lookup_phone(nam,name,phone);

/*

**如果没有这个人。。。。

*/

if(p1 == p2 == NULL)

puts("没有这个人的存在:\n");

/*

** 如果存在这个人则输出这个人的地址和电话

*/

else

{

puts("这个人的地址是:\n");

puts(p1);

puts("这个人的电话号码是:\n");

puts(p2);

}

}

/*

** 这个函数在数组中查找一个名字并返回查找到的位置下标。

** 如果这个在数组中并不存在,函数返回 -1 。

*/

static int find_entry(char const * name_to_find,char const (*p1)[NAME_LENGTH])

{

int    entry;

for (entry = 0; entry < MAX_ADDRESSES;entry++)

if(strcmp(name_to_find,p1++)==0)

return entry;

return -1;

}

/*

**给定一个名字,查找并返回对应的地址,

**如果名字没有找到,函数返回一个NULL指针

*/

char const *lookup_address(char const * name,char const (*p)[NAME_LENGTH],char const (*address)[ADDR_LENGTH])

{

int entry;

entry = find_entry(name,p);

if(entry == -1)

return NULL;

else

return address[entry];

}

/*

**给定一个名字,查找并返回对应的电话号码,

**如果名字没有找到,函数返回一个NULL指针

*/

char const *lookup_phone(char const *name,char const (*p)[NAME_LENGTH],char const (*phone)[PHONE_LENGTH])

{

int entry ;

entry = find_entry(name,p);

if(entry == -1)

return NULL;

else

return phone[entry];

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值