请录入并编译下面的程序:
prinff("%s\ return 0; } #include
int main(int argc, char *argv[])
{
int x;
printf("%d
for (x=0; x
本程序中,主函数接受两个参数:argv和argc。其中argv是一个字符串指针数组,它们指向从UNIX命令行运行程序时输入的参数。而argc即为参数的个数。上面这段代码会打印所有的命令行参数。作为试验,请把程序编译生成的可执行文件命名为aaa,然后键入aaa xxx yyy zzz运行程序。程序将会分行打印出命令行参数xxx、yyy 和 zzz。
char *argv[]是一个字符串指针数组。换句话说,数组的每个元素是一个指针,指针指向一个字符串(严格说是字符串的第一个字符)。所以,argv[0]指向的字符串即命令行的第一个参数(程序名),argv[1]指向第二个参数,以此类推。argc表示数组中有多少指针是有效的。由此可见,上面的程序只是打印了argv指向的每个有效字符串而已。
使用argv您可以很方便地让程序对用户输入的命令行参数作出响应。例如,您可以让程序在检测到程序名后第一个参数是help时,将帮助信息输出到标准输出设备。还可以把文件名作为参数传入程序供fopen等函数使用。
编辑推荐