是* argv [1]一种遍历数组所有元素的方式
#include <unistd.h>
int main(char **argv)
{
while (*argv[1])
{
if (*argv[1] == 'a')
{
write(1, "a", 1);
break;
}
argv[1]++;
}
}
关于argv [1] ++的事:是在地址中添加一个吗?
答案 0 :(得分:0)
假设您的意思是标准:
int main(int argc, char **argv)
argv[1]
是指向程序的第一个命令行参数的指针。那么*argv[1]
是参数的第一个字符,与argv[1][0]
相同。
递增argv[1]
使其指向该参数的下一个字符。
while (*argv[1])
测试到达字符串的空终止符时将失败。
因此,此代码循环遍历第一个参数中的字符,并在参数中找到a
字符时打印a
。如果您运行:
./a.out aardvark
它将打印
aaa