黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
恣意
时间:
2014-4-27 11:31
标题:
求解
本帖最后由 恣意 于 2014-4-29 12:11 编辑
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a
);此处&a可以这样写么,求解释
作者:
胡铭
时间:
2014-4-27 11:35
本帖最后由 胡铭 于 2014-4-27 17:01 编辑
不可以,a本身就是a[0]的地址,可以考虑scanf("%d",a+i);
作者:
桑托尔
时间:
2014-4-27 16:39
不行
同楼上
数组名称就是数组的首地址。
如果你想表明数组地址的话,一共有两种方法 1就是 a ,2是 &a[0]
针对你上面那个问题,可以考虑写成这样
int a[10];
for( i = 0 ; i < 10 ;i++)
scanf("%d" , a[i] ) ;
复制代码
作者:
2014571245
时间:
2014-4-27 16:54
不能这么写,你不是对单个的变量赋值,而是赋值飞一个数组,那么数组的元素就不只一个,你那样写就表示将值赋值给了数组元素的首地址,后面的数组元素就不能被得到赋值,再说,你不是定义了变量i 吗?请问你定义他得目的几何?
作者:
恣意
时间:
2014-4-29 12:04
2014571245 发表于 2014-4-27 16:54
不能这么写,你不是对单个的变量赋值,而是赋值飞一个数组,那么数组的元素就不只一个,你那样写就表示将值 ...
我认为不能那样写的,只是身边有准研究生说可以,所以问一句。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2