C 未经允许更改了内存的值

C 未经允许更改了内存的值,c,arrays,loops,C,Arrays,Loops,我有一个二维数组,当我第一次打印数组数据时,日期打印正确,但其他时间数组[last][I]的数据从I=0到last-1 显然是一个逻辑错误,但我不明白原因,因为我复制并粘贴了for语句。所以?C更改数据 我使用 Gcc-STD= C99 < /Cord>。但是在此之前我尝试用C++和 CUT语句。< /P> #包括 int main(int argc,char*argv[]) { 无符号整数=11; 无符号整数=numero_jugaderes-1; 无符号整数p_a[数字]; 浮点数[数字]

我有一个二维数组,当我第一次打印数组数据时,日期打印正确,但其他时间数组[last][I]的数据从I=0到last-1

显然是一个逻辑错误,但我不明白原因,因为我复制并粘贴了for语句。所以?C更改数据

我使用<代码> Gcc-STD= C99 < /Cord>。但是在此之前我尝试用C++和<代码> CUT语句。< /P>

#包括
int main(int argc,char*argv[])
{
无符号整数=11;
无符号整数=numero_jugaderes-1;
无符号整数p_a[数字];
浮点数[数字][数字];

对于(unsigned int i=0;i我所看到的问题,您正在使用如下条件检查进行循环

 for (unsigned int i = 0; i <= numero; i++) 
这实际上是无效的内存访问调用

C数组具有基于0的索引,因此有效限制为

for (unsigned int i = 0; i < numero; i++)
for(无符号整数i=0;i
如果将数组声明为具有
numero
元素,则索引的有效范围为
[0,numero-1]

这样的循环

for (unsigned int i = 0; i <= numero; i++) {

用于长度为0的数字数组,i。p>数组的长度为数字元素。从索引0到数字-1。你对待它们就像索引索引。从代码中删除“代码> > I,这在技术上不是一个有效的C++程序,因为C++没有。@用户,我猜这是你的问题的对白,记住X元素数组,有效i。NDEX的范围为
0
X-1
(包括在内)。现在仔细查看您的循环。请不要发布文本图片。
for (unsigned int i = 0; i < numero; i++)
for (unsigned int i = 0; i <= numero; i++) {