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

:\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 cast
lwy.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;
}

湖上湖
浏览 118回答 1
1回答

慕桂英3389331

strlen的参数必须是字符数组类型(const char *)的。你给它传一个int 数组,当然会出错了。原型:extern unsigned int strlen(char *s);下面这样就不会出错了。char str[20] = "0123456789";cout<<strlen(str)<<endl;输出的应该是10.另外,cout你也写错了。不是>>,而是<<.
打开App,查看更多内容
随时随地看视频慕课网APP