回 帖 发 新 帖 刷新版面

主题:为什么不能连用scanf

各位大虾帮帮忙
为什么连用scanf会出错,该怎么解决?
for(i=0;i<10;++i)
  scanf("%d",a[i]);
我是想依次输入整数数组元素
我害没学指针,请不要用指针教我啦[em18][em18][em18]

回复列表 (共7个回复)

沙发

注意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);
运行效果一样。

板凳

for(i=0;i<10;++i)
  scanf("%d",a[i]);//初学者容易犯得错,忘记加&,应该是&a[i],以后注意一下就好了!

3 楼


我觉得应该用scanf("%c",a[i]);//

4 楼

少了个&
   &a[i],
scanf 找的是地址。。。

5 楼

[quote]
我觉得应该用scanf("%c",a[i]);//[/quote]



看下别人的吧,你这个是错的

6 楼


楼主多写点代码就不会出这样的错误了。
你可以想想,你要写入的一个数据,你就必须有该变量的地址,&在这里就是地址的意思。

7 楼


一开始,一般都会漏那个 & 的

我来回复

您尚未登录,请登录后再回复。点此登录或注册