c语言tips-带参main函数

0.写在最前

最近因为工作需要开始重新学c语言,越学越发现c语言深不可测,当初用python轻轻松松处理的一些数据,但是c语言写起来却异常的复杂,这个板块就记录一下我的c语言复习之路

1. main函数的两种表现形式

main函数是c/cpp语言的入口函数,有且只能由一个,有点类似于python的if __name__ == '__main__',c语言的main函数有两钟形式

  • 第一个当然是我们非常常见的int main(),简单easy
  • 而第二种int main(int argc, char *argv[]);在某些场景也用的非常多,他允许程序运行时动态的给程序传入参数,从下图(大丙老师的图)我们可以看到当运行一个程序开辟一个进程空间时,会把argcargv这两个参数传入。
    在这里插入图片描述

2. 带参main函数的两个参数分别代表什么?

先说结论:argc 表示传递的字符串的数目, argv 是一个指针数组,每个指针指向一个字符串(一份数据)且看以下结论

#include <stdio.h>

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

打印结果为:
在这里插入图片描述

从这我们可以得出结论,argc传入得参数的数量,默认为1,argv存储传入参数的一个字符串数组,这个字符串数组的默认第一个元素是当前运行文件的路径,剩下的参数可以往后延伸(用空格隔开输入)

3. 使用示例

判断是否为偶数

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
    printf("you input %d items\n", argc);
    int num;
    for(int i = 1; i < argc; i++)
    {
        num = atoi(argv[i]);
        printf("%d is %s\n", num,  (num % 2) ? "odd number": "even number");
    }
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值