*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]++ 怎么样:是给地址加一
最佳答案
假设您指的是标准:
int main(int argc, char **argv)
argv[1]
是指向程序第一个命令行参数的指针。 *argv[1]
是参数的第一个字符,与 argv[1][0]
相同。
递增argv[1]
使其指向该参数的下一个字符。
当到达字符串的空终止符时,while (*argv[1])
测试将失败。
因此,此代码循环遍历第一个参数中的字符,并在参数中找到 a
字符时打印 a
。如果你运行:
./a.out aardvark
它将打印
aaa
关于你能帮我理解以下代码:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59398964/