1.查找名字、地址、电话号 —— 数组方式
#include<stdio.h>
#define NAME_LENGTH 30 //name length
#define ADDR_LENGTH 100 //address length
#define PHONE_LENGTH 11 //phone length
#define MAX_ADDRESSES 1000 //max addresses number
#define ADDR_LENGTH 100 //address length
#define PHONE_LENGTH 11 //phone length
#define MAX_ADDRESSES 1000 //max addresses number
//接口函数
char const *lookup_address(char const *name);
char const *lookup_phone(char const *name);
char const *lookup_address(char const *name);
char const *lookup_phone(char const *name);
static char name[MAX_ADDRESSES][NAME_LENGTH];
static char address[MAX_ADDRESSES][ADDR_LENGTH];
static char phone[MAX_ADDRESSES][PHONE_LENGTH];
static char address[MAX_ADDRESSES][ADDR_LENGTH];
static char phone[MAX_ADDRESSES][PHONE_LENGTH];
static int find_entry(char const *name_to_find)
{
int entry;
for(entry=0; entry<MAX_ADDRESSES; entry+=1)
{
if(strcmp(name_to_find, name[entry] == 0))
return entry;
}
return -1;
}
{
int entry;
for(entry=0; entry<MAX_ADDRESSES; entry+=1)
{
if(strcmp(name_to_find, name[entry] == 0))
return entry;
}
return -1;
}
char const *lookup_address(char const *name)
{
int entry;
entry = find_entry(name);
if(entry == -1)
{
return NULL;
}
else
{
return address[entry];
}
}
{
int entry;
entry = find_entry(name);
if(entry == -1)
{
return NULL;
}
else
{
return address[entry];
}
}
char const *lookup_phone(char const *name)
{
int entry;
entry = find_entry(name);
if(entry == -1)
return NULL;
else
return phone[entry];
}
{
int entry;
entry = find_entry(name);
if(entry == -1)
return NULL;
else
return phone[entry];
}
strcmp
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1<str2,则返回负数;
若str1>str2,则返回正数。
matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false。