C语言题目:编一个程序,输入5个字符,从中找出最大的字符并输出。

编一个程序,输入5个字符,从中找出最大的字符并输出。要求用字符数组存放这5个字符,用指针数组元素分别指向这5个字符。算法分析如下:(1)用字符型一维数组a[5]存放5个字... 编一个程序,输入5个字符,从中找出最大的字符并输出。要求用字符数组存放这5个字符,用指针数组元素分别指向这5个字符。
算法分析如下:
(1) 用字符型一维数组a[5]存放5个字符;
(2) 用一维指针数组p[5]分别指向数组a的5个元素,即*p[i]就是a[i];(可用次数型循环结构实现指向)
(3) 用次数型循环输入5个字符
(4) 首先把a[0]的址赋予指针地变量max,再用次数型循环寻找最大字符串并用指针变量max记录。
(5) 最后输出最大字符。

麻烦看一下我的程序编得问题出在哪里,多谢了。
#include<stdio.h>
void main()

{char a[6],*p[5],*max,t;
int i;
gets(a);

for(i=0;i<5;i++)
p[i]=&a[i];

*max=*p[0];

for(i=0;i<5;i++)
{if(*p[i]>*max)
*max=*p[i];
}

printf("%c\n",*max);
}
展开
 我来答
tcet030840zxp
推荐于2016-06-16 · TA获得超过735个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:97.4万
展开全部
#include<stdio.h>
void main()

{char a[6],*p[5],t;
int i;
gets(a);

for(i=0;i<5;i++)
p[i]=&a[i];

char *max=p[0];

for(i=0;i<5;i++)
{if(*p[i]>*max)
*max=*p[i];
}

printf("%c\n",*max);
getchar();
}
max没有初始化
还有不会的问我
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-05-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4535万
展开全部
#include<stdio.h>
void main()

{char a[6],*p[5],*max,t;
int i;
gets(a);

for(i=0;i<5;i++)
p[i]=&a[i];

max=p[0]; //改过!改过!改过!改过!改过!改过!

for(i=0;i<5;i++)
{if(*p[i]>*max)
max=p[i]; //改过!改过!改过!改过!改过!改过!

}

printf("%c\n",*max);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
美妙英姿458
2011-05-28 · TA获得超过5.5万个赞
知道大有可为答主
回答量:3.1万
采纳率:0%
帮助的人:3872万
展开全部
呵呵!! 将 max=*p[0]; 改为
for(i=0;i<=4;i++)
max=p[i];就好了!!你可以看看!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式