区别
主要区别在与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
执行结果如下: