程序如下:
//输入数组,判断出数组中长度最长的一个并输出长度为多少;
#include
//#include
using namespace std;
const int m=5; //数组大小
int strlen(char a) //数组元素长度计算
{
int k;
k=sizeof(a)/2; //char型所以除2
return k;
}
int main()
{
char a[m];
int *p,i,j,n;
cout<<"Please input the number:";
for(i=0;i {
cin>>a[i];
}
n=strlen(a[0]);
for(j=1;j<i;j++) //判断大小
{
if(n {
n=strlen(a[j]);
}
else if(n>strlen(a[j]))
{
n=strlen(a[0]);
}
}
cout<<a[j]<<endl<<n;
return 0;
}
题比较简单,就是想知道我在哪里出错了,谢谢!!
结果没有显示最长长度的数组元素和长度
int strlen(char a) //数组元素长度计算
{
int k;
k=sizeof(a)/2; //char型所以除2
return k;
}
这个不对,应该是
int strlen(char * c)
{
int i = 0;
while (*c)
{
i++;
c++;
}
return i ;
}
char a[5];这个数组是一个字符数组不是字符串数组;应该是char *a[5]