【发布时间】:2012-01-10 17:27:43
【问题描述】:
我正面临 k&r 练习 1.24,它指出:“编写一个程序来检查 C 程序的基本语法错误,例如不匹配的括号、方括号和大括号”。
我不确定如何处理方括号。
在 ANSI C 语法中可以嵌套方括号吗? 到目前为止我还没有看到它们,但我只是在第 1 章。
【问题讨论】:
-
是的,它们是可能的:
a[b[i]]
我正面临 k&r 练习 1.24,它指出:“编写一个程序来检查 C 程序的基本语法错误,例如不匹配的括号、方括号和大括号”。
我不确定如何处理方括号。
在 ANSI C 语法中可以嵌套方括号吗? 到目前为止我还没有看到它们,但我只是在第 1 章。
【问题讨论】:
a[b[i]]
当然可以,在第二个数组中表示的位置访问一个数组。 a[b[i]]
它通常用于bucket sort,其中您的存储桶是第二个数组,每个存储桶都是该数组中的一个元素。
【讨论】:
是的,有可能:
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;
【讨论】:
可以访问数组中的数组
x[y[0]] //valid;
但不适用于数组中的语法
x[[0]] //invalid;
【讨论】: