Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么要在这个数组声明中使用这些值?_C++_Arrays - Fatal编程技术网

C++ 为什么要在这个数组声明中使用这些值?

C++ 为什么要在这个数组声明中使用这些值?,c++,arrays,C++,Arrays,我试图理解这段代码: const int STUDENTNO(3); const int MODULENO(4); double marks[STUDENTNO][MODULENO] = { { 89.0, 22.5, 43.2, 34.0 }, { 66.5, 26.0, 47.4, 0.0 }, { 89.0, 30.

我试图理解这段代码:

  const int STUDENTNO(3);
  const int MODULENO(4);

  double marks[STUDENTNO][MODULENO] = { { 89.0, 22.5, 43.2, 34.0 },
                                        { 66.5, 26.0, 47.4, 0.0  },
                                        { 89.0, 30.8, 71.3, 12.0 } }; 
从逻辑上讲,STUDENTNO和MODULENO的值应该递减1,假设数组中的第一个位置是marks[0][0]


可以解释一下为什么不是这样的吗?< /P> < P>当你有一个大小n的数组时,C和C++中的有效索引是从0到n-1。


这也扩展到了多维数组。当数组大小为M x N时,有效索引从[0][0]到[M-1][N-1]。

共有3名学生和4个模块。所以学生人数是3,模块数量是4。就这么简单。用于特定学生和特定模块的标识符与学生或模块的数量无关


如果您试图在提供的代码中减少STUDENTNO或MODULENO,那么标记声明将是非法的,因为它为3个学生和4个模块指定了标记。试试看。

事物的数量和用于列举这些事物的标签之间存在差异。为什么投票被否决,这个问题有什么问题?@dotontwall1,我怀疑被否决的用户认为这是一个太基本的问题,所以不能问。为什么投票被否决,这个问题有什么问题?可能是因为:在逻辑上,我认为STUDENTNO和MODULENO的值应该减少1。。。你的问题是什么?那句话是胡说八道。是什么让你认为这些值应该被递减?在任何时候都不能修改它们。它们从3和4开始,一直保持3和4。如果你想减少它们,你就不能减少它们,因为它们是常量。你问的不清楚。我不明白为什么它不起作用。我甚至在ideone.com上试用过,效果不错。马克斯有3个学生和4个模块的位置,这就是它得到的。三行四列。@FabioTurati你有链接吗?这绝对不应该起作用。糟糕的是,我刚刚意识到我完全误解了你所说的减少变量的意思。事实上,这很明显,特别是现在我已经重新阅读了这个问题,但不知怎的,我设法将其解释为用数值替换它们。对不起,我本该明白我的解释是如此的毫无意义,它一定是错的。我想我应该早点睡觉…:-