vc++6.0环境下写C语言,关于数组指针的东西,菜鸟求教啊!

4.编一个程序,输入5个字符,从中找出最大的字符并输出。要求用字符数组存放这5个字符,用指针数组元素分别指向这5个字符。算法分析如下:(1)用字符型一维数组a[5]存放5... 4.编一个程序,输入5个字符,从中找出最大的字符并输出。要求用字符数组存放这5个字符,用指针数组元素分别指向这5个字符。
算法分析如下:
(1) 用字符型一维数组a[5]存放5个字符;
(2) 用一维指针数组p[5]分别指向数组a的5个元素,即*p[i]就是a[i];(可用次数型循环结构实现指向)
(3) 用次数型循环输入5个字符
(4) 首先把a[0]的地址赋予指针变量max,再用次数型循环寻找最大字符串并用指针变量max记录。
(5) 最后输出最大字符。
展开
 我来答
WinQin108
2012-05-23 · 超过11用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:37.9万
展开全部
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("请输入5个字符:");
char a[5],*p[5],*max;
int i=0;
for(i=0;i<5;i++)
{
scanf("%c",&a[i]);
}
for(i=0;i<5;i++)
{
p[i]=&a[i];
}
max=p[0];
for(i=1;i<5;i++)
{
if(*max<*p[i])
{
max=p[i];
}
}
printf("最大的字符为:%c\n",*max);
return 0;
更多追问追答
追问
你好,这里max=p[0];     和*max =a[0]是一样意思吗?为什么用*max =a[0]会有错误呢?
追答
max 是变量, p[0]是地址,两者类型相同,可以将p[0]赋值给max,即将a[0]的地址赋值给max;*max即取max所指地址的值,是常量,不能给常量赋值,所以会出错。我是这样认为的,对不对就不知道了。
mjzhang20082
2012-05-23 · TA获得超过227个赞
知道答主
回答量:31
采纳率:0%
帮助的人:7.1万
展开全部
好问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式