我正在编写一个简单的程序,它从用户那里获取参数并处理它们。我在 argv 中有参数,它是二维数组。但是当我运行程序时,我得到了垃圾值和分段错误错误。我尝试过使用 argc 作为终止条件并且它有效。但我只想用指针来做。这里的指针有什么问题。
#include<stdio.h>
int main( int argc, char *argv[])
{
while (++(*argv))
{
if ( **argv == '-' )
{
switch (*argv[1])
{
default:
printf("Unknown option -%c\n\n", (*argv)[1]);
break;
case 'h':
printf("\n option h is found");
break;
case 'v':
printf("option V is found");
break;
case 'd':
printf("\n option d is found");
break;
}
}
printf("\n outside while : %s", *argv);
}
}
程序运行为:
./a.out -h -v -d
谢谢