为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我这个程序提示的错误这样的?

为什么我这个程序提示的错误这样的?

湖上湖 2023-03-16 16:16:16
:\FunshionMedia\C语言程序\Microsoft Visual Studio\c++1\C++面向对象\第一课时\实验0001\wy.cpp(9) : error C2664: 'strlen' : cannot convert parameter 1 from 'int [20]' to 'const char *'Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style castlwy.c执行 cl.exe 时出错.实验0001.exe - 1 error(s), 0 warning(s),求高人帮忙?谢谢#include<iostream>#include<string>#include<cstring>using namespace std;void main(){int a[20]={1,2,3,4,5,6,7};cout<<strlen(a)<<endl;}
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

strlen的参数必须是字符数组类型(const char *)的。
你给它传一个int 数组,当然会出错了。
原型:extern unsigned int strlen(char *s);

下面这样就不会出错了。

char str[20] = "0123456789";
cout<<strlen(str)<<endl;
输出的应该是10.

另外,cout你也写错了。
不是>>,而是<<.


查看完整回答
反对 回复 2023-03-18
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信