C语言命令行参数和java的区别

2022-08-26 20:00:35 浏览数 (1)

区别

主要区别在与args[0]的值,在C语言当中args[0]是C语言编译出的当前二进制的名称,而在Java当中却是第一个参数的值。

代码演示

C语言代码如下:

代码语言:javascript复制
#include <stdio.h>

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

使用 gcc args_test.c编译上面代码并且执行结果如下:

Java代码如下:

代码语言:javascript复制
package com.zeekling.arg;

public class ArgsTest {

    public static void main(String[] args) {
        System.out.println(args[0]);
    }

}

编译之后执行下面命令(代码工程详见:https://git.zeekling.cn/zeekling/test_java):

代码语言:javascript复制
java -classpath /home/zeek/project/test_java/target/classes com.zeekling.arg.ArgsTest one two three

执行结果如下:

0 人点赞