当前位置: 首页 > article >正文

C语言通过控制台命令行传入参数

Linux 与 windows运行c语言程序

切换到对应目录下

1. gcc hello.c -o hello

2.Linux: ./hello

Windows: hello.exe 


 int main(){}默认无参数

但在一些情况下想要直接通过在上述过程中第二步就传入参数不是使用scanf..之类的输入语句就需要使用有参数的main方法:

int main()
{
    char str[1000];
    printf("input str\n");
    scanf("%s", str);
    printf("hello %s", str);
    return 0;
}

 常见的参数形式:

int main(int argc, char *argv[])

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

 argc:表示传入了多少个参数

argv:是一个字符二维数组既字符串数组

这儿argc是2,表示两参数 hello.exe 与 123s

可以传入更多:

简单修改代码:

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

 

将argv[]转换成为int可以使用atoi:

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

 

 


http://www.kler.cn/a/17267.html

相关文章:

  • VBA08-if语句
  • 大模型论文精华—20241111
  • 自定义包和第三方包
  • 连接kafka消息队列报org.apache.kafka.clients.NetworkClient异常
  • 【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
  • Netty实现WebSocket Client三种典型方式
  • 安卓联发科MT6737手机开发核心板 开发模块
  • 【Java笔试强训 15】
  • JS逆向系列之猿人学爬虫第5题
  • 网络编程 总结一
  • Vim 文本查找/替换
  • 都23年了你还记得渐进式框架是什么意思吗
  • 国民技术N32G430开发笔记(18)- I2C1 从机收发数据
  • 【react全家桶学习】react组件中的ref属性(详)
  • K8S之HPA自动扩缩容机制
  • 【五一创作】QML、Qt Quick /Qt中绘制圆形
  • 第四章 数据关联分析方法
  • C/C++每日一练(20230504)
  • [Leetcode] 0697.数组的度
  • api 和 implementation 区别
  • 最大和+翻硬币(蓝桥杯JAVA解法)
  • 【python】创建python包
  • 浅谈MySQL索引以及执行计划
  • 自定义类型:结构体
  • Windeployqt 打包,缺少DLL 的原因分析,解决方法
  • 【网络】网络基础入门