大家好,这是我的第八篇博文
main函数在C++程序中无处不在,那么这个main函数到底代表什么呢?
其实这个main函数是所以c++程序中有且只有一个,这个main函数是c++程序的入口,无论main函数处于程序哪个位置都可以,不会影响程序的运行,
语法格式:
#include<iostream>
using namespace std;
int main(int argc ,char**argv);
提示:不要将main函数的返回类型定义为void,虽然有些编译器允许这样做,但是他不符合c++的标准,错误示例
void main();
之前敲了个名字游戏,发现如果是void main()则运行不了,当我改为int mian()就可以运行了
//姓名测试
#include<iostream>
#include<string>
using namespace std;
void name_test(char*ch,string &str) //括号里面的是参数 ,&str是地址
//姓名测算 ,利用指针进行传递
{
//定义函数name_test用于测试姓名,共有两个函数
//解释如下:
// 1,char*ch 输入的姓名首地址
// 2,string&str 输出表示何许人结果
// 定义三个字符串数组,用于存储对应的姓,中间的名,最后的名
// 在main()中定义ch[3]获得三个首字母,str_result输出结果
string str_first[15]={
"曹魏","东吴","蜀汉","秦朝","宋朝","大秦","明朝","鲜卑","晚清","西周","赵国","大辽""夏商"
"战国","春秋","东晋"
};
string str_mid[22]={"阴毒","可爱","豪门","白痴","天才","自卑","美貌","卖国","饭桶"
"爱狗","暴力","平庸","自恋","逍遥","多情","血手","自负","爱玩","善","学习","爱美"};
string str_late[18]={"地主","土豪","书生","乞丐","大臣","戏子","土匪","媒婆","诗人"
"歌姬","将军","和尚","屠夫","马夫","学生","老师","作家","皇后"};
for(int i=0;i<3;i++)
{
if(ch[i]<='z'&&ch[i]>='a')
ch[i]-=(32+65);//定义ch[i]
switch(i)
{
case 0:
str+=str_first[ch[i]];//str在自定义函数中已经声明了,但是没有定义
//所以str=0+str_first[ch[i]]
//数组里面可以包含数组,如str_first包含ch,如何实现汉字和字母的相连接
break;
case 1:
str+=str_mid[ch[i]];
break;
case 2:
str+=str_late[ch[i]];
break;
default:
break;
}
}
}
int main()//主函数可以放在后面,方便主函数调用自定义函数
{
char ch[3]={""};
string str_result;
cout<<"请输入你的姓氏,中间字,最后字的字母:";
cin>>ch[0]>>ch[1]>>ch[2];
cout<<ch[0]<<ch[1]<<ch[2];
cout<<"你在古代名字身份是:";
name_test(ch,str_result);//调用自定义函数
cout<<str_result<<endl;
}
main()函数的第一个参数argc代表参数的数量,指明有多少个参数传递给主函数。
真正的参数是以字符串数组(即第二个参数argv[]的形式来传递的)
main函数本身是以索引0为第一参数的,所以argc至少为1,,它的总数是从argv阵列的元素数目,如果用户从控制台环境中程序名称后输入含参数的指令,那么随后的参数将传递给argv[1]
我新建一个源程序,注意用visual studio 运行
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(int argc,char* argv[])
{
int a,b,c;
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;
}
在主程序中,我定义了三个变量,第一个变量a取传入参数数组第一个数,第二个变量b传入参数数组第二数,最后定义第三个变量为前两个变量的之和
各位好,我是一名大学生,目标就成为一个优秀的程序员,这是我的第8篇文章,希望大家一键三连。你的支持就是我的最大的动力,还有两年就去华南师范大学了,一定要变优秀,如何定义一个人,是他所处的位置吗?不,是他前进的方向,天天进步一点点,日后华南师范见!@