标题:下面的代码在VC++6.0可以正常运行输出,但是放在VS2013(scanf()在VS2013里 ...
取消只看楼主
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
结帖率:100%
 问题点数:0 回复次数:2 
下面的代码在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
郑风十一
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
郑风十一
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2017-3-13
得分:0 
回复 5楼 wp231957
好,谢谢
2017-04-08 12:25



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




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

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