| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1737 人关注过本帖
标题:下面这个程序,给定一个大写字母,它可以在vc++6.0输出一个相应的小写字母, ...
只看楼主 加入收藏
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
结帖率:100%
收藏
 问题点数:0 回复次数:9 
下面这个程序,给定一个大写字母,它可以在vc++6.0输出一个相应的小写字母,但是在vc2013上却不行。
#include <stdio.h>
int main()
{
    char c1, c2;
    printf("Please enter a capital letter:c1=");
    scanf_s("%c", &c1);
    c2 = c1 + 32;
    printf("c2=%c\n",c2);
    return 0;
}
搜索更多相关主题的帖子: capital include return letter 
2017-03-29 23:16
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10575
专家分:43038
注 册:2014-5-20
收藏
得分:0 
试试这样:
scanf_s("%c", &c1, 1);
2017-03-30 05:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不建议你使用_s系列函数

DO IT YOURSELF !
2017-03-30 13:59
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 3楼 wp231957
啊?为什么?不安全吗
2017-03-30 21:11
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 2楼 吹水佬
可以了,谢谢,但是为什么要这样子呢
2017-03-30 21:20
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10575
专家分:43038
注 册:2014-5-20
收藏
得分:0 
以下是引用郑风十一在2017-3-30 21:20:19的发言:

可以了,谢谢,但是为什么要这样子呢

搜寻一下,看看scanf_s与scanf的用法有什么不同就清楚。
2017-03-30 22:23
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
学习了。
以下引用自百度百科:
ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节
char buf[5]={'\0'};
scanf("%s", buf);
如果输入1234567890,后面的部分会被写到别的空间上去。
以上代码如果用scanf_s,第二行应改为scanf_s("%s",buf,5),表示最多读取4个字符,因为buf[4]要放'\0'
scanf_s最后一个参数是缓冲区的大小,表示最多读取n-1个字符.
vc++2005/2008中提供了scanf_s(),在最新的VS2015中也提供了scanf_s()。在调用时,必须提供一个数字以表明最多读取多少位字符。

[此贴子已经被作者于2017-3-30 22:53编辑过]

2017-03-30 22:51
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 6楼 吹水佬
好,谢谢
2017-03-30 22:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用郑风十一在2017-3-30 21:11:57的发言:

啊?为什么?不安全吗

不通用 这些函数是微软专用
另 我没感觉这些函数哪里特别的好

DO IT YOURSELF !
2017-03-31 10:33
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 9楼 wp231957
主要用来针对字符串的。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-31 11:15
快速回复:下面这个程序,给定一个大写字母,它可以在vc++6.0输出一个相应的小写 ...
数据加载中...
 
   



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

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