C 未经允许更改了内存的值
我有一个二维数组,当我第一次打印数组数据时,日期打印正确,但其他时间数组[last][I]的数据从I=0到last-1 显然是一个逻辑错误,但我不明白原因,因为我复制并粘贴了for语句。所以?C更改数据 我使用<代码> Gcc-STD= C99 < /Cord>。但是在此之前我尝试用C++和<代码> CUT语句。< /P>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[数字]; 浮点数[数字]
#包括
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++) {