hehong9631 2017-09-07 14:50 采纳率: 100%
浏览 731
已采纳

请教一下大佬一道C++编程哪里出错了

程序如下:
//输入数组,判断出数组中长度最长的一个并输出长度为多少; 

#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;
 } 
题比较简单,就是想知道我在哪里出错了,谢谢!!
结果没有显示最长长度的数组元素和长度

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-09-08 00:23
    关注

    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 ;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵