标题:新手,看谭浩强的书用的VS2017,求大佬指教!谢谢
只看楼主
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
结帖率:100%
已结贴  问题点数:20 回复次数:9 
新手,看谭浩强的书用的VS2017,求大佬指教!谢谢
#include<stdio.h>
#define  _CRT_SECURE_NO_WARNINGS
int main()
{
    char c1, c2;
    scanf_s("%c,%c", &c1,&c2);
    printf("c1=%c,c2=%c", c1, c2);
    while (1);
    return 0;
}
代码如上
出现的错误如下:

如不输入c2则可以正常运行,不会出现错误。求教呀!!
搜索更多相关主题的帖子: 谭浩强 VS2017 return 出现 错误 
2019-03-31 18:51
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
得分:0 
没有大佬来吗
2019-03-31 19:32
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:0 
scanf_s("%c,%c", &c1,&c2);



注意这一行,你把%c,%c中间的“,”去掉试试。

代码测试环境:  WinXP+C-Free5.0.
2019-03-31 19:58
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
得分:0 
回复 3楼 vvvcuu
去了的话,打两个字母就会出下面的错。试过了
2019-03-31 21:36
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
得分:0 
scanf_s换成scanf试试
2019-03-31 21:55
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
得分:0 
回复 5楼 C基础
也试过了,也没用。而且vs2017也不允许用scanf呀
2019-03-31 23:11
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
得分:0 
我这个如果只输入c1一点事都没,但同时输入c1和c2就会有上面的问题说有冲突。分别输入也没事就是一起输入有问题。
2019-03-31 23:13
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:10 
#include "stdafx.h"
#include<stdio.h>
int main()
{


        char c1, c2;
        scanf_s("%c,%c",&c1,2,&c2,2);
        printf("c1=%c,c2=%c",c1,c2);
        while (1);
   
    return 0;
}
2019-04-01 06:28
卡德火罗
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-31
得分:0 
回复 8楼 zbjzbj
成功了,谢谢。能否麻烦解释一下为什么。
2019-04-01 10:02
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:10 
scanf_s,要求指定缓冲区长度,防止越界。_CRT_SECURE_NO_WARNINGS只是阻止了安全检查,但是运行中还是出问题了。
2019-04-01 12:45



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




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

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