C语言for循环被跳过

如图,for循环的第一次被直接跳过了是怎么回事... 如图,for循环的第一次被直接跳过了是怎么回事 展开
 我来答
百度网友07c6cf4cf
推荐于2016-01-10 · TA获得超过319个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:304万
展开全部

因为在上面的scanf里面,你输入了4 回车, 4当做数字存进n,回车被当做第一个输入的字符串存进了a[0](其实a[0]是空字符串,因为gets不保存回车符)。

解决方法很简单,我们忽略掉4后面那个回车就好了。只要把

scanf("%d",&n);

改成

scanf("%d%*c",&n);

就行了。 这里%*c的意思是读入一个字符(也就是回车),但是不保存到任何变量里。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式