追风少年_9 2022-08-03 11:04 采纳率: 78.6%
浏览 38
已结题

strlen编译出错

问题遇到的现象和发生背景

10:大整数加法
总时间限制: 1000ms 内存限制: 65536kB
描述
求两个不超过200位的非负整数的和。
输入
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
输出
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
22222222222222222222
33333333333333333333
样例输出
55555555555555555555
来源
程序设计实习2007

问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>

using namespace std;

int main()
{
 string az,bz;
    cin>>az>>bz;
    int a[(int)strlen(az)],b[(int)strlen(bz)];
    for(int i=0;i<strlen(az);i++)
    {
        a[i]=az[i]-'0';
    }
    for(int i=0;i<strlen(bz);i++)
    {
        b[i]=bz[i]-'0';
    }
    g=strlen(az)>=strlen(bz)?strlen(az):strlen(bz)
    int h[g+1]={0};
 for(int i=0;i<=g;i++)
 {
     if(a[i]+b[i]>=10)
     {
         h[i+1]+=1;
         h[i]+=(a[i]+b[i])%10;
        }
        else
        {
            h[i]=a[i]+b[i];
        }
    }
    bool l=false;
 for(int i=200;i>=0;i--)
 {
     if(h[i]!=0)
         l=true;
     if(l==true)
         cout<<h[i];
    }
 return 0;
}

运行结果及报错内容

[Error] cannot convert 'std::string' {aka 'std::__cxx11::basic_string'} to 'const char*'

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-03 11:06
    关注

    用string类了,就不要用strlen了啊。string有计算长度的函数啊

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

报告相同问题?

问题事件

  • 系统已结题 8月11日
  • 已采纳回答 8月3日
  • 创建了问题 8月3日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效