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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • jalen_zh 博客专家认证 2017-09-08 03:50
    关注

    char a[5];这个数组是一个字符数组不是字符串数组;应该是char *a[5]

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#c++#的问题:在A和B类中应该怎么定义复制构造函数来避开unordered_set复制构造的问题(相关搜索:头文件)
  • ¥15 MICE包多重插补后数据集汇总导出
  • ¥15 一道算法分析问题(关于3-MSAT)
  • ¥15 C++ FLUENT 化学反应速率 编写困难
  • ¥15 Python嵌套交叉验证
  • ¥15 linuxkit+elasticsearch
  • ¥15 兄得萌6.13do题😭😭大一小东西的work
  • ¥15 投不到原始数据,gdal投影代码
  • ¥20 卷积混响的代码帮写。。
  • ¥88 借助代码处理雷达影像,识别任意区域洪水前后的被淹没区域,并可视化展示。