小编Pro*_*k3u的帖子

C中的指针输出

我试图理解为什么下面的代码产生的输出7.

int main()
{
    int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    int b[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    int c = 5;
    int *p = a;

    printf("%d", (c[b])[p]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

1
推荐指数
1
解决办法
43
查看次数

递归C函数 - 打印升序

我正在尝试实现一个递归调用自身并按升序打印给定数字的代码,即如果数字是5,那么函数将打印1 2 3 4 5.我不能以任何方式使用循环!

void print_ascending(int n)
{
   int i = 1;

   if(i < n)
   {
      printf("%d", i);

      i++;

      print_ascending(n);
   }
}
Run Code Online (Sandbox Code Playgroud)

当然,这段代码的问题是它会每次将变量i重新初始化为1并无限循环以打印1.

也没有允许外部全局变量或外部函数!

c recursion loops

0
推荐指数
1
解决办法
2818
查看次数

标签 统计

c ×2

arrays ×1

loops ×1

pointers ×1

recursion ×1