【问题标题】:are nested square brackets possible?可以嵌套方括号吗?
【发布时间】:2012-01-10 17:27:43
【问题描述】:

我正面临 k&r 练习 1.24,它指出:“编写一个程序来检查 C 程序的基本语法错误,例如不匹配的括号、方括号和大括号”。

我不确定如何处理方括号。

在 ANSI C 语法中可以嵌套方括号吗? 到目前为止我还没有看到它们,但我只是在第 1 章。

【问题讨论】:

  • 是的,它们是可能的:a[b[i]]

标签: c syntax


【解决方案1】:

当然可以,在第二个数组中表示的位置访问一个数组。 a[b[i]]

它通常用于bucket sort,其中您的存储桶是第二个数组,每个存储桶都是该数组中的一个元素。

【讨论】:

  • 谢谢!当我在 stackoverflow 上提出问题时,我学到的东西总是超出我的预期,即使我的问题有点微不足道!
【解决方案2】:

是的,有可能:

int index[] = {0,3,1,3};
int data[] = {9,10,22,34};

data[index[0]] = 0;
data[index[1]] = 1;
data[index[2]] = 2;
data[index[3]] = 3;

【讨论】:

    【解决方案3】:

    可以访问数组中的数组

    x[y[0]] //valid;
    

    但不适用于数组中的语法

    x[[0]] //invalid;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2012-10-24
      • 2010-11-27
      • 2012-03-16
      相关资源
      最近更新 更多