标题:新手疑惑第一个scanf_S 输入后回车,直接把\N赋值给第二个scanf_s
只看楼主
lzzzz1990
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-8-6
 问题点数:0 回复次数:3 
新手疑惑第一个scanf_S 输入后回车,直接把\N赋值给第二个scanf_s
程序代码:
int s_c=100, a, b=0,c=0,i=1;
    char p_d;
    printf("请输入需要转换为二进制的整数:");
    scanf_s("%d", &s_c);
    printf("二进制转十进制吗?(y\\n)");
    p_d    = getchar();


经过调试发现 p_d没有等输入直接被赋值\n 了;
搜索更多相关主题的帖子: 输入 回车 赋值 printf 二进制 
2018-11-04 23:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
正常的,第一个scanf输入了一个数值和\n,数值赋给了s_c,还剩下一个\n
2018-11-05 05:09
lzzzz1990
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-8-6
得分:0 
回复 2楼 吹水佬
请问这句该怎么修改呢;
2018-11-05 12:30
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 3楼 lzzzz1990
加多一句:
    scanf_s("%d", &s_c);
    while (getchar() != '\n');
2018-11-05 16:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490997-1-1.html




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

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