这一题百思不得其法
已知 学生库 char *name[6]={"liuyin","liuyun","wangyin","wangyun"}}
要求根据姓名查找 该学生是第几个?
另外我想知道 char *name[6]与char name[6]的区别?(知道一点点,希望知道更详细的)
#include "stdio.h"
#include "stdlib.h"
int main(void){
char *name[4]={"liuyin","liuyun","wangyin","wangyun"}; //只有4个人。
char *s=(char *)malloc(10*sizeof(char));
int ct=0;
scanf("%s",s);
while(ct<=4){ //只有4个人,采用线性查找
if(strcmp(s,name[ct])==0){
printf("%d\n",ct+1);
break;
}
else if(ct==4){
printf("Can not find!\n");
break;
}
else
ct++;
}
return 0;
}
“外我想知道 char *name[6]与char name[6]的区别?(知道一点点,希望知道更详细的)”
char *name[6] 为字符指针数组,数组中每个元素是个char类型指针,接收一个char类型的地址。
char name[6] 为字符数组,数组中每个元素是个char类型,接受一个char.
程序非常不错,受教了。同时我有一个地方想问char *s=(char *)malloc(10*sizeof(char));(是开辟内存空间,可是为什么是10*sizeof(char),这是说开辟和空间只能存为10个字符吗