Raf*_*mal 5 c command-line-arguments
这是一个简单的C程序,它打印传递给它的命令行参数的数量:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%d\n", argc);
}
Run Code Online (Sandbox Code Playgroud)
当我给出输入
file_name *
Run Code Online (Sandbox Code Playgroud)
它在我的电脑(操作系统Windows 7)中打印623而不是2.但它在其他情况下提供了正确的输出.是*命令行参数的保留字符?请注意,此程序为以下输入提供正确的输出:
file_name *Rafi
Run Code Online (Sandbox Code Playgroud)
输出= 2
Mar*_*c B 10
在Unix命令行上,shell负责处理通配符.yourapp *将运行yourapp,并将当前目录中所有非隐藏文件的名称作为参数传递.在你的情况下,这是622个文件(623 = 622个文件+程序的名称).
在Windows上,应用程序负责通配符解析,因此对于程序名称(argv [0]),argc为2,1,对于通配符,argc为1(argv [1] =*);
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |