嗨,这是我的问题,我能够为我的矩阵输入值
for(i=0;i<n;i++)
{
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
对于大订单的矩阵来说这是多么乏味,我不能让矩阵与指针和rand函数一起工作
for(i=0;i<n;i++)
{
for(j=0;j<n;j++){
&a[i][j] = -1 + rand() * (double)(2) / RAND_MAX;
此代码编译但导致错误,而且&amp;运算符编译并给我不正确的结果
a[i][j] = -1 + rand() * (double)(2) / RAND_MAX;
对于指向这样工作的指针我缺少什么?
答案 0 :(得分:3)
显然a
是一个int
数组(您使用"%d"
来输入scanf
的值。)
您使用的表达式生成doubles
(范围从-1
到1
),转换为int
时会生成0
。我想这就是你在a
中看到的内容。
使a
成为double
s的数组。