kedobi 发表于 2018-2-4 21:42:00

为什么我用scanf输入字母就不能执行下一步

这是我的源码
#include <stdio.h>
int main()
{
       
        float w,h;
        char n,e;
       
        printf("您的身高:");
        scanf_s("%f", &h);
        printf("您的体重:");
        scanf_s("%f", &w);
        printf("您的姓名:");
        scanf_s("%s%c", &n,&e);
        h = h / 2.54;
        w = w / 0.453;
        printf("%s的身高是%f(in),体重是%f(lb)\n", n,h,w);
        return 0;
}

下面是运行结果
输入完姓名之后就没有下一步了

kedobi 发表于 2018-2-4 21:42:59

我用的是VS2017

人造人 发表于 2018-2-4 22:08:59

scanf_s("%s%c", &n, 256, &e, 1);

kedobi 发表于 2018-2-4 22:12:11

人造人 发表于 2018-2-4 22:08


感谢!是不是用scanf_s都要这样啊?在vs2017的话,我用scanf的话编译会失败,改成scanf_s就没事,这是为啥呀?

人造人 发表于 2018-2-4 22:34:47

kedobi 发表于 2018-2-4 22:12
感谢!是不是用scanf_s都要这样啊?在vs2017的话,我用scanf的话编译会失败,改成scanf_s就没事,这是为 ...

新建项目时

kedobi 发表于 2018-2-4 23:29:19

人造人 发表于 2018-2-4 22:34
新建项目时

十分感谢!!
页: [1]
查看完整版本: 为什么我用scanf输入字母就不能执行下一步