C++ 为什么atoi函数可以';是否将常量字符*转换为int?
为什么在此代码中,C++ 为什么atoi函数可以';是否将常量字符*转换为int?,c++,atoi,C++,Atoi,为什么在此代码中,atoi()函数不能正常工作,为什么编译器会给出此错误: 正在初始化“int-atoi(const-char*)”的参数1 我的代码如下: #include <iostream.h> #include <stdlib.h> int main() { int a; char b; cin >> b; a = atoi(b); cout << "\na"; return 0; }
atoi()
函数不能正常工作,为什么编译器会给出此错误:
正在初始化“int-atoi(const-char*)”的参数1
我的代码如下:
#include <iostream.h>
#include <stdlib.h>
int main()
{
int a;
char b;
cin >> b;
a = atoi(b);
cout << "\na";
return 0;
}
#包括
#包括
int main()
{
INTA;
字符b;
cin>>b;
a=原子(b);
CUT< P> <代码> B<代码>代码> char < /C> >但在 AOII-()/<代码>必须通过<代码> char *<代码>或 const char */COD> >因为C++是严格类型检查语言,因此您得到了
正如您在这里看到的,它应该是这样的
Atoi接收到一个指向char的指针,而不是像您那样的char。
这是有意义的,因为通过这种方式,您可以将atoi应用于一个超过1位的“数字”(以字符串表示),例如atoi(“100”)
否则,如果它是字符,则只能转换“0”、“1”、“2”…“9”
编辑:尝试以下示例:
#include <iostream>
#include <stdlib.h>
int main()
{
int a;
char b[10];
cin >> b;
a = atoi(b);
cout<<"\n"<<a;
return 0;
}
#包括
#包括
int main()
{
INTA;
charb[10];
cin>>b;
a=原子(b);
库特
#include <iostream>
#include <stdlib.h>
int main()
{
int a;
char b[10];
cin >> b;
a = atoi(b);
cout<<"\n"<<a;
return 0;
}