C语言在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
2. 线性计数排序的设计、分析与实现: 发布于:2023-12-04 15:39 时空权衡 1.计数排序的设计、分析与实现 发布于:2023-12-04 15:36 线性计数排序的设计、分析与实现 发布于:2023-12-04 08:53 线性排序测试 发布于:2023-12-04 08:51 计数排序的设计、分析与实现 发布于:2023-12-04 08:51 计数排序测试 发布于:2023-12-04 08:44 计数排序实现 发布于:2023-12-04 08:31 线性计数排序 发布于:2023-12-04 07:47 线性计数排序--可重复数据 发布于:2023-12-04 00:52 简单的ringbuffer 发布于:2023-12-03 23:42 线性排序代码 发布于:2023-12-03 23:33 计数排序的实现 发布于:2023-12-03 23:30 线性计数排序实验 发布于:2023-12-03 23:10 计数排序实验 发布于:2023-12-03 23:08 线性计数排序 发布于:2023-12-03 22:57 计数排序实现 发布于:2023-12-03 22:57 线性计数排序实现 发布于:2023-12-03 22:49 计数排序实现 发布于:2023-12-03 22:47 线性的基数排序 发布于:2023-12-03 22:47 计数排序实现 发布于:2023-12-03 22:47 实现计数排序以及线性计数排序 发布于:2023-12-03 22:30 线性记数排序 发布于:2023-12-03 22:22 计数字排序 发布于:2023-12-03 22:19 计数排序,时空权衡 发布于:2023-12-03 22:17 计数排序实现 发布于:2023-12-03 19:42 2. 线性计数排序 发布于:2023-12-03 19:39 线性计数排序 发布于:2023-12-03 19:39 Hello, RSA! 发布于:2023-12-03 17:15 线性计数排序 发布于:2023-12-03 17:11 计数排序。 发布于:2023-12-03 17:03 计数排序线性技术排序 发布于:2023-12-03 16:24 线性计数排序 发布于:2023-12-03 15:43 线性计数排序 发布于:2023-12-03 14:58 时空权衡实验 发布于:2023-12-02 21:59 2021年程序设计题4 发布于:2023-12-01 22:12 计数排序算法 发布于:2023-12-01 17:34 DGUSII 校验码 发布于:2023-12-01 15:44 数组添加头部字节 发布于:2023-12-01 14:00 创建函数调用 发布于:2023-11-30 17:33 一个数各位数字之和 发布于:2023-11-30 00:40 计数排序实现 发布于:2023-11-29 21:25 计数排序(基于比较) 发布于:2023-11-29 19:58 计数排序算法 发布于:2023-11-29 19:58 计数排序额 发布于:2023-11-29 20:28 计算日期 的程序 发布于:2023-12-01 16:35 堆排序实验 发布于:2023-11-29 17:58 这个是堆排序算法 发布于:2023-11-29 16:51 堆排序实现 发布于:2023-11-29 14:07 线性计数排序 发布于:2023-11-29 10:06 统计排序(非线性) 发布于:2023-11-29 09:28 [更多]
显示目录

命令行参数



C 命令行参数

执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。

命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

使用一个参数,编译并执行上面的代码,它会产生下列结果:

$./a.out testing
The argument supplied is testing

使用两个参数,编译并执行上面的代码,它会产生下列结果:

$./a.out testing1 testing2
Too many arguments supplied.

不传任何参数,编译并执行上面的代码,它会产生下列结果:

$./a.out
One argument expected

应当指出的是,argv[0] 存储程序的名称,argv[1] 是一个指向第一个命令行参数的指针,*argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,argc 将被设置为 2。

多个命令行参数之间用空格分隔,但是如果参数本身带有空格,那么传递参数的时候应把参数放置在双引号 "" 或单引号 '' 内部。让我们重新编写上面的实例,有一个空间,那么你可以通过这样的观点,把它们放在双引号或单引号""""。让我们重新编写上面的实例,向程序传递一个放置在双引号内部的命令行参数:

 #include <stdio.h>

int main( int argc, char *argv[] ) {
   printf("Program name %s\n", argv[0]);

   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

使用一个用空格分隔的简单参数,参数括在双引号中,编译并执行上面的代码,它会产生下列结果:

 $./a.out "testing1 testing2"

Progranm name ./a.out
The argument supplied is testing1 testing2

main 的两个参数的参数名如下:

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

亦可以写成下面这样:

 int main( int test_argc, char *test_argv[] )
由JSRUN为你提供的C语言在线运行、在线编译工具
        JSRUN提供的C语言 在线运行,C语言 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。