| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1672 人关注过本帖
标题:下面的代码在VC++6.0可以正常运行输出,但是放在VS2013(scanf()在VS2013里 ...
只看楼主 加入收藏
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
结帖率:100%
收藏
 问题点数:0 回复次数:5 
下面的代码在VC++6.0可以正常运行输出,但是放在VS2013(scanf()在VS2013里已经改为scanf_s())就不行,不懂是为什么
#include <stdio.h>
int main()
{
    char letter;
    printf("Enter an upper case letter:");
    scanf("%c",&letter);
    if ((letter >= 'A') && (letter <= 'Z'))
    {
        letter = letter + 'a' - 'A';//等价于l=l+'a'-'A'
        printf("You entered an uppercase %c.\n", letter);
    }
    else
        printf("You did not erter an uppercase letter.\n");
    return 0;
}
2017-04-07 23:15
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用郑风十一在2017-4-7 23:15:29的发言:

但是放在VS2013(scanf()在VS2013里已经改为scanf_s())就不行

我看不懂你这个“就不行” 是神马意思

代码在2010下测试正常

DO IT YOURSELF !
2017-04-08 11:09
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 2楼 wp231957
就是scanf在VS2013里运行需要加上#define _CRT_SECURE_NO_WARNINGS,改成scanf_s就不需要了。在2013里输入任何字符它输出的都是You did not erter an uppercase letter.
2017-04-08 11:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
估计是你的函数使用错了

DO IT YOURSELF !
2017-04-08 11:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
可以百度一下_s函数的各个参数的含义

DO IT YOURSELF !
2017-04-08 11:39
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 5楼 wp231957
好,谢谢
2017-04-08 12:25
快速回复:下面的代码在VC++6.0可以正常运行输出,但是放在VS2013(scanf()在VS2 ...
数据加载中...
 
   



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

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