C语言之字符指针(二维数组)

字符指针数组的拓展用法(二维字符数组)

输入一个学生姓名,在含有4个学生的名单中查找该学生是否存在,并输出查找结论;

#include <stdio.h>
#include <string.h>
int main()
{
	char *name[4]={"Tom","Smith","Ellen","Fox"};
	char sn[20];
	int i;
	scanf("%s",sn);
	for(i=0;i<4;i++)
	{
		if(strcmp(sn,name[i])==0)
			break;
	}
	if(i<4) printf("%s is here\n",sn);
	else printf("Sorry,Not found");
	return 0;
}


将上题改变一下,如果四个学生的姓名是需要输入的呢?程序又该怎么变呢?
字符指针数组必须要初定义,不能输入?

#include <stdio.h>
#include <string.h>
int main()
{
	int n;
	int i;
	char s[81][81],s1[81];//把名字定义成二维数组
	scanf("%d",&n);
	char *name[n];
	for(i=0;i<n;i++)
	{
		scanf("%s",s[i]);
		name[i]=s[i];//name[i]指向行(一个名字)
	}
	scanf("%s",s1);
	for(i=0;i<n;i++)
	{
		if(strcmp(s1,name[i])==0)
			break;
	}
	if(i<n) printf("YES");
	else printf("NO");
	return 0;
}

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tao_RY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值