指针赋值问题?
#include"stdio.h"void main()
{
int a[10],i,*p,*sum,m;
float *ave,n;
m=0;n=0;
sum=&m;
ave=&n;
p=&a[0];
for(i=0;i<10;i++)
{
*(p+i)=i;
*sum=*sum+*(p+i);
}
*ave=*sum/10;
printf("%d %f",*sum,*ave);
putchar('\n');
for(i=0;i<10;i++)
printf("a[%d]=%d\n",i,*(p+i));
}——————————————————————————————————————
请问:为什么 *(p+i)=i; 可以直接用 而 sum=&m,ave=&n;不可以改成 *sum=m,*ave=n;
改成那样,可以得出结果,但是有 8个 warning
[[it] 本帖最后由 crabeam 于 2008-6-19 17:48 编辑 [/it]]