04-3 main函数的renturn及参数

main函数中的return
$ vi main.c

编写main函数的内容,main函数的注意其括号里拥有完整的参数

#include <stdio.h>

int main(int argv, char* argc[])
{
        printf("hello world \n");
        return 0;
}

第一条指令gcc执行成功就会接着执行main.out指令

$ gcc main.c -o main.out && ./main.out
hello world 

$ ls
main.c main.out

// 若直接运行,也可以执行
$ ./main.out
hello world

如何判断是否正常执行?

每次编译之后输入echo $?,若输出为0,则表示程序正常执行

$ echo $?
0

main函数中的参数

copy 上述的main.c文件并编写新的文件

cp main.c main2.c
vi main2.c

这里我们试着打印出argv这个整数,需要系统进行传参,所以就有main函数里的参数

#include <stdio.h>

int main(int argv, char* argc[])
{
        printf("argv is %d \n",argv);
        return 0;
}

$ gcc main2.c -o main2.out
$ ls
main2.c  main2.out  main.c  main.out

$ ./main2.out
argv is 1 

我们可以知道argv应该是一个整数,但为什么是1呢,这里我们做个实验

$ ./main2.out
argv is 1 

$ ./main2.out -l
argv is 2 

$ ./main2.out -l -a
argv is 3 

这里我们可以知道实际就是传的参数有几个,那么我们就要考虑我们不仅要知道有几个参数,还要知道参数的具体类型

$ cp main2.c main3.c
$ vi main3.c

编写代码如下,cat main3.c可查看代码内容,其中%s表示字符串

#include <stdio.h>

int main(int argv, char* argc[])
{
        printf("argv is %d \n",argv);
        int i=0;
        for(i=0;i<argv;i++)
        {
                printf("argc[%d] is %s\n", i, argc[i]);
        }
        return 0;
}

编译并验证

$ gcc main3.c -o m3.out
$ ls
m3.out  main2.c  main2.out  main3.c  main.c  main.out

$ ./m3.out -l -a adsf sdg
argv is 5 
argc[0] is ./m3.out
argc[1] is -l
argc[2] is -a
argc[3] is adsf
argc[4] is sdg

可看到我们输入了5个参数,并显示了5个参数的内容

学习结束啦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值