| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:scanf问题,就讲解
只看楼主 加入收藏
qq261359695
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2011-5-18
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:9 
scanf问题,就讲解
#include <stdio.h>


void main()
{
    int a[3];
    int i;

    for(i=0; i<3; i++)
    {
        scanf("%d\n", &a[i]);
    }

    for(i=0; i<3; i++)
    {
        printf("%d\n", a[i]);
    }
}
为什么在scanf里加了\n,就要输入11个数,才能出结果。而去掉\n是输入十个数,结果就出来了?
搜索更多相关主题的帖子: include 
2011-05-18 10:31
linfeng_09
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-18
收藏
得分:0 

\n被scanf()函数“错误”地赋给了a
2011-05-18 11:12
kayingn
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2011-5-12
收藏
得分:0 
格式输入函数干啥子要换行噢
2011-05-18 11:30
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:0 
\n占了一个位置‘

楼上,楼下的一定要幸福开心哦!
2011-05-18 11:48
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:0 
\n占了一个位置‘

楼上,楼下的一定要幸福开心哦!
2011-05-18 11:48
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
回复 楼主 qq261359695
这里还是不要用scanf("\n");去掉一般都不要这个的
2011-05-18 12:46
cjiao724
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-24
收藏
得分:0 
scanf("%d\n", &a[i]);
2011-05-18 13:02
qq261359695
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2011-5-18
收藏
得分:0 
回复 楼主 qq261359695
赋值给a数组?那我a数组定义是2,多出那\n不是a【3】了吗?不是乱码吗?
2011-05-18 17:07
avrmil
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2010-5-7
收藏
得分:10 
scanf遇空格、“回车”、“跳格”键,遇非法输入
都会结束一次数据的输入。因为你的%d后面有一个\n,所以无论你打了多少次回车都无法结束数据的输入。
当你完成了数据的输入,你接着输入的数据因为无法接受而被当成非法输入,结束了数据的输入,这样就有结果了
2011-05-18 18:34
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
去\n掉就好 不然scanf就会把你害了

                                         
===========深入<----------------->浅出============
2011-05-18 18:37
快速回复:scanf问题,就讲解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018275 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved