缺少“scanf_s”的整型参数(对应于转换说明符“3”)

  • Post author:
  • Post category:其他


源码

//a:=3;b:=4;c:=5;
#if 1
#include<stdio.h>
int a[3];
char s1, s2;
int main() {
    while (scanf_s("%c:=%c;", &s1,  &s2) == 2)
        a[s1 - 'a'] = s2 >= '0' && s2 <= '9' ? s2 - '0' : a[s2 - 'a'];
    printf("%d %d %d", a[0], a[1], a[2]);
    return 0;
}
#endif

改进后

//a:=3;b:=4;c:=5;
#if 1
#include<stdio.h>
int a[3];
char s1, s2;
int main() {
    while (scanf_s("%c:=%c;", &s1,1,  &s2,1) == 2)   //改进部分
        a[s1 - 'a'] = s2 >= '0' && s2 <= '9' ? s2 - '0' : a[s2 - 'a'];
    printf("%d %d %d", a[0], a[1], a[2]);
    return 0;
}
#endif


限制可读取长度



版权声明:本文为weixin_51368613原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。