C语言二维数组问题求高手指示下

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:23:47
#include<stdio.h>
#include<math.h>
void main()
{
int i,j;
int a[5][5];
/*1*/for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
a[i][j]=(int)rand()%100;
printf("%d ",a[i][j]);
if(j==4)printf("\n");
}
printf("\n");
/*2*/for(i=0;i<5;i++)
for(j=0;j<6;j++)
{printf("%d ",a[i][j]);
if(j==4)printf("\n");}
/*3*/printf(" %d ",a[i][j]);
}
问题一:a[i][j]=rand()%100;在vc6.0中报错,但也能运行
问题二:为什么我在第2个for循环中会多出一个元素出来呢 但我单独执行3语句又没问题
问题三:刚才我又试验一下用 又正常了 我想肯定还是出现在问题一这,
不行 我早就试过了 还是报错,
在TC中就可以运行 在VC6。0中就不行提示错误
6我是故意写的 就是想看它最后一个数的不是溢出还是输出正确的数
我就只是想知道为什么a[i][j]=rand()%100;会提示错误
我用过指针指出它如果是输入25个元素就会有26个元素出来 老是多一位

使用rand()函数应包含头文件<stdlib.h>

#include<stdio.h>
#include<math.h>
#include <stdlib.h>
void main()
{
int i,j;
int a[5][5];
/*1*/for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
a[i][j]=(int)rand()%100;
printf("%d ",a[i][j]);
if(j==4)printf("\n");
}
printf("\n");
/*2*/for(i=0;i<5;i++)
for(j=0;j<5;j++) //这里应该是j<5吧
{printf("%d ",a[i][j]);
if(j==4)printf("\n");}
/*3*/printf(" %d ",a[i][j]);
}
问题2的循环次数错误了

#include<stdio.h>
#include<math.h>
#include <stdlib.h>//加这个头文件
void main()
{
int i,j;
int a[5][5];
/*1*/for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
a[i][j]=(int)rand()%100;
printf("%d ",a[i][j]);
if(j==4)printf("\n");
}
printf("\n&q