标题:新手学习scanf函数的问题,求大神帮忙解决.....
只看楼主
向上爬的蜗牛
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-8-3
结帖率:0
已结贴  问题点数:20 回复次数:5 
新手学习scanf函数的问题,求大神帮忙解决.....
代码如下:
#include<stdio.h>
int main(void)
{
    char ch;
    printf("Please enter a character.\n");
    scanf_s("%c", &ch);
    printf("The code for %c is %d.\n", ch, ch);
    system("pause.\n");
    return 0;
}
输入一个ASCII  Code后输出结果却是错误的,如下:错误应该是printf无法调取%c这个常量,求解决办法
Please enter a character.
c
The code for ?is -52.
请按任意键继续. . .
搜索更多相关主题的帖子: 学习 scanf 函数 printf code 
2017-08-03 14:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:7 
看似是在汉字输入状态输入全角字符了
2017-08-03 15:43
悟爱
Rank: 2
等 级:论坛游民
威 望:1
帖 子:10
专家分:45
注 册:2017-7-20
得分:7 
scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s()。在调用该函数时,必须提供一个数字以表明最多读取多少位字符
2017-08-03 19:57
向上爬的蜗牛
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-8-3
得分:0 
回复 3楼 悟爱
那表示读取位数的数值应该添加在哪个位置呢?谢过
2017-08-04 09:49
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
得分:7 
vc++2005/2008中提供了scanf_s(),在调用时,必须提供一个数字以表明最多读取多少位字符

 scanf_s("%c", &ch,1);
2017-08-04 10:40
向上爬的蜗牛
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-8-3
得分:0 


[此贴子已经被作者于2017-8-4 11:47编辑过]

2017-08-04 11:30



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




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

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