C语言用for循环和scanf输入数组 程序出错,停止工作
5个回答
展开全部
scanf要使用的是地址。。。需要在k[j]之前加上“取地址”符号 &
for(i=0;i<n;++i)
{scanf("%d",&k[i]);}
for(i=0;i<n;++i)
{scanf("%d",&k[i]);}
更多追问追答
追问
数组不是不需要使用&吗
追答
使用%s输入字串时,字串使用char [] 是不需要使用&的。传入的也是数组的首地址(没有指定索引)。想想是不是这样:
char s[20];
scanf("%s", s); //s是数组首地址,其实就是char *类型
对照上例,如果你使用:
scanf("%d", k);
应该是可以的,只是k是int数组,而k又不变化,所以你循环n次都会写入到k[0].
当然,你可以使用指针操作:
scanf("%d", k+i);
试一下?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i<n;i++)
scanf("%d",k[i]);
不行的话,把整个代码发过来
scanf("%d",k[i]);
不行的话,把整个代码发过来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改、、!
scanf("%d",&k[i]);
scanf("%d",&k[i]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k[i]前加&
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询