编一个程序,输入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);
}