读书人

请问一C语言指针的有关问题

发布时间: 2012-02-28 13:06:36 作者: rapoo

请教一C语言指针的问题

#include "stdafx.h "
#include "stdio.h "
#define N 3
void chushihua(double (*p) [N])
{int i,j;
for(i=0;i <N;i++)
for(j=0;j <N;j++)
scanf( "%d ",*(p+i)+j);


}
main()
{ double a[N][N];

int i,j;
chushihua(a);
for(i=0;i <N;i++)
{ for(j=0;j <N;j++)

printf( "%f ",a[i][j]);
printf( "\n ");}
return 0;
}


编译都通过了,但输出是一大串不知道的数字,函数的功能就想是用int(*p)[],的形式对二维数组进行赋值,希望懂的人帮我解决一下,在这谢谢了,


[解决办法]
scanf( "%d ",*(p+i)+j);
==》
scanf( "%lf ",*(p+i)+j);
[解决办法]
#include "stdio.h "
#include "stdio.h "
#include <conio.h>
#define N 3
void chushihua(double(*p)[N])
{
int i, j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf( "%d ", *(p + i) + j);


}

main()
{
double a[N][N];

int i, j;
chushihua(a);
printf( "\n\n\n " );
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
printf( "the number: %d\n ", a[i][j]);
}
getch();
return 0;
}
重新排了一下,改成这样是正确的了
[解决办法]
劝LZ从入门开始就注意编码规范的问题,代码就像书法、绘画一样,是一门艺术,好的代码给人以美感,增加可读性,下面是我写的例子,当然,绝不是说的的好,只是举一个例子而已,我也在努力写出优秀的代码,这需要日积月累的磨练才行;

#include <stdio.h>

#define ARRSIZE 3

void arrayInit(double (*p)[ARRSIZE]);

int main(void)
{
double array[ARRSIZE][ARRSIZE];
int i,j;

printf( "please input %d num:\n ",ARRSIZE*ARRSIZE);
arrayInit(array);
printf( "the output are:\n ");

for(i=0; i <ARRSIZE; i++)
{
for(j=0; j <ARRSIZE; j++)
printf( "%-10lf ",array[i][j]);
printf( "\n ");
}

return -1;
}

void arrayInit(double (*p)[ARRSIZE])
{
int i,j;

for(i=0; i <ARRSIZE; i++)
for(j=0; j <ARRSIZE; j++)
scanf( "%lf ",&(*(*(p+i)+j)));
return;

[解决办法]
crazy2005king的程序我不懂 为什么加#include <conio.h>

又没什么作用

我直接运行下面的程序就好了啊!

#include "stdio.h "
#define N 3
void chushihua(double (*p)[N])
{int i,j;
for(i=0;i <N;i++)
for(j=0;j <N;j++)
{
scanf( "%d ",*(p+i)+j);
printf( "输入的数是:%d\n ",*(*(p+i)+j));
}
}
int main()
{ double a[N][N];

int i,j;
chushihua(a);
for(i=0;i <N;i++)
{ for(j=0;j <N;j++)

printf( "%d ",a[i][j]);
printf( "\n ");}
return 0;
}

读书人网 >C语言

热点推荐