C++小白,问大佬我编的代码为什么显示不了atoi函数里的内容?

题目:编写函数,将数值字符串转换为整数。函数原型:int atoi(const *char).

这是我的代码(CodeBlock编译器):

#include <iostream>
#include <string>

using namespace std;

int atoi(const char*)
{
    int n[5];
    const char* number;
    for(int i=0;i<5;i++)
    {
        n[i]=*(number+i)-'0';
        cout<<n[i];
    }
    return 0;

}

int main()
{
    int atoi(const char*);
    cout<<"please input a string about 5 numbers: "<<endl;
    char num[5];
    cin.getline(num,5);
    const char* number= num;
    atoi(number);
    return 0;

}
 

简单改一下

#include <iostream>
#include <string>

using namespace std;

int atoi(const char* number)
{
	int n[5];
	
	for (int i = 0; i<5; i++)
	{
		n[i] = *(number + i) - '0';
		cout << n[i];
	}
	return 0;

}

int main()
{
	int atoi(const char*);
	cout << "please input a string about 5 numbers: " << endl;
	char num[6] = { 0 };
	cin.getline(num, 6);
	const char* number = num;
	atoi(number);
	return 0;

}

 

atoi的函数要带参数名,而不是在函数体里面再定义一个number,这是两回事

int atoi(const char*)里面,你形参的名都没写,int atoi(const char* number)这样才对,
函数里的const char* number;这句注释掉。而且你这代码完全不对啊兄弟。另外,c++里有atoi函数,

#include <stdlib.h>后就可以直接用了。如有帮助,请采纳一下,谢谢。