大家好,这是我第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字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时(’ ’)才结束转化,并将结果返回(返回转换后的整型数)。
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函数的作用
希望各位能够一键三连,多谢多谢