#include<stdio.h>
/**
* main - prints all arguments without using ac
* @ac: number of arguments in av
* @av: array of strings (arguments)
*/
int main(int ac, char **av)
{
int i;
for(i = 0; i < ac; i++)
{
(void) ac;
printf("%sn", av[i]);
}
return (0);
}
标准在第5.1.2.2.1章第2段中说:
argv[argc]
为空指针
所以你可以循环遍历指针数组,直到找到一个空指针。
您可以使用ac
和av
打印传递给命令行的所有参数。但是你的问题是如何仅通过使用av
来打印参数。好吧,av
是一个NULL终止字符串数组。所以,你可以循环到av[i] != NULL
.
#include <stdio.h>
int main(__attribute__((unused))int ac, char **av)
{
int i;
for (i = 1; av[i] != NULL; i++)
{
printf("%sn", av[i]);
}
return (0);
}