c - 显示 *argv 除了第一个参数

标签 c

我是 C 的新手,这是一个简单的程序:

#include <stdio.h>
#define str char *

int main(int k, const str argv[]) {
    while(* argv) puts(* argv ++);
    return 0;
}

所以当我输入 shell 时,./myprogramm somearg otherarg

我得到:

我的程序 苏玛格 其他参数

我想做的是跳过第一个参数并拥有: 苏玛格 其他参数

重要的是我想保留 *argv 实现

我知道我可以做这样的事情:

#include <stdio.h>
#define str char *

int main(int k, const str argv[]) {
    int i = 0;
    while(i<k-1){
        puts(argv[++i]) ;
    }

    return 0;

}

但我想保留 *argv 实现

提前致谢

最佳答案

对于第一个版本的最小变化,您可以使用

while(*++argv) puts(*argv);

在你的主循环中。它立即跳过参数“零”。 (已测试)

关于c - 显示 *argv 除了第一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32021219/

相关文章:

C++ 在全局命名空间中找不到非标准 C 函数

c - 等待互斥量的线程如何恢复运行?

c - 简单链表代码出错

c - 为什么这个uint32_t的值是-2147483648呢?

c - 米转厘米C语言程序

c++ - 在不使用预编译头文件的 C++ 项目中编译 C 文件?

c - 我在图中添加顶点的 C 实现失败

c - 已接受来自 00 :00:00:00:00:00; after connect 的连接

c - 在 C 中从一个特定字符到另一个字符的文件读取

将 ASCII 码转换为字符值