题目
以下正确的定义语句是___________。A. int a[1][4]=(1,2,3,4,5);B. float x[3][ ]=({1),(2),(3)};C. long b[2][3]=({1),(1,2),(1,2,3)};D. double y[ ][3]=(0);
以下正确的定义语句是___________。
- A. int a[1][4]={1,2,3,4,5};
- B. float x[3][ ]={{1},{2},{3}};
- C. long b[2][3]={{1},{1,2},{1,2,3}};
- D. double y[ ][3]={0};
题目解答
答案
D.double y[ ][3]={0};
解析
步骤 1:分析选项 A
选项 A 定义了一个 1 行 4 列的数组,但是初始化时提供了 5 个元素,这会导致数组越界,因此选项 A 是错误的。
步骤 2:分析选项 B
选项 B 定义了一个 3 行的数组,但是没有指定列数,这在 C 语言中是不允许的,因此选项 B 是错误的。
步骤 3:分析选项 C
选项 C 定义了一个 2 行 3 列的数组,但是初始化时提供了 3 个元素,这会导致数组越界,因此选项 C 是错误的。
步骤 4:分析选项 D
选项 D 定义了一个行数不确定,列数为 3 的数组,并且初始化时提供了 0,这在 C 语言中是允许的,因此选项 D 是正确的。
选项 A 定义了一个 1 行 4 列的数组,但是初始化时提供了 5 个元素,这会导致数组越界,因此选项 A 是错误的。
步骤 2:分析选项 B
选项 B 定义了一个 3 行的数组,但是没有指定列数,这在 C 语言中是不允许的,因此选项 B 是错误的。
步骤 3:分析选项 C
选项 C 定义了一个 2 行 3 列的数组,但是初始化时提供了 3 个元素,这会导致数组越界,因此选项 C 是错误的。
步骤 4:分析选项 D
选项 D 定义了一个行数不确定,列数为 3 的数组,并且初始化时提供了 0,这在 C 语言中是允许的,因此选项 D 是正确的。