| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:求教问题 - 比较scanf输入
取消只看楼主 加入收藏
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
 问题点数:0 回复次数:2 
求教问题 - 比较scanf输入
程序代码:
/* Indicate if scanf format strings are equivalent, if not, show difference. */

#include <stdio.h>

int main(void)
{
    /* "%d-%d-%d" versus "%d -%d -%d" */

    char x2, y2;

    printf("Input first series number here:");
    scanf("%d-%d-%d", &x2);

    printf("Input second series number here:");

    scanf("%d -%d -%d", &y2);

    printf("%c\n%c\n", x2, y2);

    return 0;
}

运行程序,输入1-1-1

程序停止工作
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


问题:

是声明有问题?还是printf % 有问题?




2015-08-28 20:42
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
得分:0 
回复 2楼 hjx1120
谢斑竹

我稍改了下原来的程序,可以输出了

程序代码:
/* Indicate if scanf format strings are equivalent, if not, show difference. */

#include <stdio.h>

int main(void)
{
    /* "%d-%d-%d" versus "%d -%d -%d" */

    int x1, x2, x3, y1, y2, y3;

    printf("Input first series number here:");
    scanf("%d-%d-%d", &x1, &x2, &x3);
    printf("%d%d%d\n", x1, x2, x3);

    printf("Input second series number here:");

    scanf("%d -%d -%d", &y1, &y2, &y3);
    printf("%d%d%d\n", y1, y2, y3);

    return 0;
}

问题:
输入1-1-1
输出111
所以对比scanf"%d-%d-%d"和scanf"%d -%d -%d",输出是一样的,因为scanf会忽略空格符,不知道这样的理解对不对头?
2015-08-28 21:15
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
得分:0 
回复 4楼 hjx1120
谢了,看了教材,想上帖子来证实下...
2015-08-28 21:38
快速回复:求教问题 - 比较scanf输入
数据加载中...
 
   



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

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