大家好,这是我第10篇文章
之前在敲一份代码的时候,发现了一个问题
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(int argc,char* argv[])
{
int a,b,c,v;
a=atoi(argv[1]);
b=atoi(argv[1]);
v=a+b;
cout<<"/n输入第一个数:"<<a<<endl;
cout<<"/n输入第二个数:"<<b<<endl;
cout<<a<<"+"<<b<<"="<<c<<endl;
return 0;
}
你们有没有考虑到atoi有什么作用,我刚开始也没想到,直达被朋友反问了一下,才上网查找了一下atoi函数的作用,刚开始疑惑的是a是整形变量,argv是字符变量,两者怎么相等,怎么联系在一起
a=atoi(argv[1]);
原来是atoi函数的作用,atoi()函数的功能:将字符串转换成整型数;atoi()会扫描参数char字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时(’\0’)才结束转化,并将结果返回(返回转换后的整型数)。
argv[]是个字符数组,与整形进行转化
如图所示
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(void)
{
int v;
char a='h';
char *b="16987";
v=atoi(b);
cout<<a<<b<<v<<endl;
return 0;
}
注意:字符串可以为数字(数字也是字符)
运用到atoi函数的时候一定用到指针,用指针获得地址,进行转化
运行后,你可以发现整形v可以输出char的字符串,这就是atoi函数的作用
希望各位能够一键三连,多谢多谢