c - 基本 C 指针

标签 c pointers

我是 C 的初学者,在过去一两个小时里一直在努力找出我的代码代码出了什么问题。我一直在关注 K&R 的书,我一直在翻阅它,但仍然不明白我的逻辑错误。

while (*argv>0){
    while (**argv>0){
        printf("%c\n",**argv);
        **argv++;
    }
    argv++;
}

任务:使用 argv 打印出所有提供给我的程序的参数。

根据我的理解,argv 是一个指向数组的指针,该数组包含指向字符指针数组的进一步指针。所以,我说过当 *argv>0 或第一个数组仍然有元素时,我们应该跟随从第一个数组到下一个数组的指针。然后我们应该打印出下一个数组中的所有元素。

最佳答案

这一行中的 * 太多:

**argv++;

应该是这样的:

*argv++;

加上额外的大括号,因为++操作有更高的优先级:

(*argv)++;

它会起作用。

关于c - 基本 C 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858890/

相关文章:

c - 为什么这不适用于 C 中的哈希表(指针)

c - 执行 msp430x 指令但 mcu 不是 msp430x

c++ - 在 C/C++ 中加载 OpenSSL 自定义引擎

c++ - gcc 编译器提示来自 char* 测试的测试 [0] 错误;

c - 如何在c目录下查找文件

c - 尝试写入修改后的结构时出现段错误

c - 此优化代码中调用的内容

c++ - 成员函数指针的类型推导

c++ - 为什么++(* p)更改指针值?

c++ - 二叉搜索树 : Issue with Insert Function