首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

scanf的疑惑,很奇怪的用法解决方案

2012-03-28 
scanf的疑惑,很奇怪的用法int*w,n,iprintf( 请输入权值的个数( 1):)scanf( %d ,&n)w(int*)malloc

scanf的疑惑,很奇怪的用法
int   *w,n,i;
      printf( "请输入权值的个数(> 1):   ");
      scanf( "%d ",&n);
      w=(int*)malloc(n*sizeof(int));
      printf( "请依次输入%d个权值(整型):\n ",n);
      for(i=0;i <=n-1;i++)
      scanf( "%d ",w+i);


最后那个scanf中的w+i是什么功能啊?
我是这样理解的:
{
            scanf( "%d ",w);
              w=w+i;
  }

可是不对啊??为什么?
各位高手谢谢你们了!

[解决办法]
你可以这样
int *w,n,i,temp;
printf( "请输入权值的个数(> 1): ");
scanf( "%d ",&n);
w=(int*)malloc(n*sizeof(int));
printf( "请依次输入%d个权值(整型):\n ",n);
for(i=0;i <=n-1;i++)
{
scanf( "%d ",&temp);
*(w+i)=temp;
}
则可以通过编译

热点排行