主题:为什么不能连用scanf
_超.C
[专家分:10] 发布于 2010-11-30 09:57:00
各位大虾帮帮忙
为什么连用scanf会出错,该怎么解决?
for(i=0;i<10;++i)
scanf("%d",a[i]);
我是想依次输入整数数组元素
我害没学指针,请不要用指针教我啦[em18][em18][em18]
回复列表 (共7个回复)
沙发
eastcowboy [专家分:25370] 发布于 2010-11-30 19:58:00
注意scanf应该传入的是地址。
比如:
int n;
scanf("%d", &n);
如果是数组的话,那就这么写:
int a[10];
int i;
for (i = 0; i < 10; ++i)
scanf("%d", &a[i]);
当然你也可以写:
scanf("%d", a + i);
运行效果一样。
板凳
cfj469933485 [专家分:950] 发布于 2010-11-30 21:22:00
for(i=0;i<10;++i)
scanf("%d",a[i]);//初学者容易犯得错,忘记加&,应该是&a[i],以后注意一下就好了!
3 楼
xiaxiamaomao [专家分:0] 发布于 2010-12-02 02:21:00
我觉得应该用scanf("%c",a[i]);//
4 楼
似水流鱼 [专家分:20] 发布于 2010-12-02 20:31:00
少了个&
&a[i],
scanf 找的是地址。。。
5 楼
Gooluckd [专家分:20] 发布于 2010-12-02 23:01:00
[quote]
我觉得应该用scanf("%c",a[i]);//[/quote]
看下别人的吧,你这个是错的
6 楼
haibo1989 [专家分:10] 发布于 2010-12-07 20:07:00
楼主多写点代码就不会出这样的错误了。
你可以想想,你要写入的一个数据,你就必须有该变量的地址,&在这里就是地址的意思。
7 楼
luotuo44 [专家分:0] 发布于 2010-12-12 20:01:00
一开始,一般都会漏那个 & 的
我来回复