scanf_s函数输入多个字符时,报错误

#include<stdio.h>

int main(void)
{
char a, b, c;
printf("输入三个字符:");
scanf_s("%c,%c,%c\n", &a,&b,&c);
printf("a=%c\n",a);
printf("b=%c\n",b);
printf("c=%c\n",c);

return 0;

}

img

你设置的输入格式是逗号分割的,你自己输入的是空格分割

scanf_s输入需要指定输入大小。
而且多个数之间用逗号分隔。

scanf_s输入字符的时候需要指定长度,另外,输入的时候,需要用逗号分隔。
运行结果:

img

代码修改如下:

#include<stdio.h>

int main(void)
{
    char a, b, c;
    printf("输入三个字符:");
    scanf_s("%c,%c,%c", &a,1, &b,1, &c,1); //这里加上长度,去掉\n
    printf("a=%c\n", a);
    printf("b=%c\n", b);
    printf("c=%c\n", c);

    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632