使用 Scanf 调试断言失败
Debug Assertion Failed Using Scanf
我正在做一个学校项目,我必须将值 A 和 B 用作整数,并将 %d 和 %c 与 scanf 一起使用。我必须使用带有禁用 4996 的 scanf 来获取输入,但是它一直触发调试断言错误,我无法弄清楚。
#pragma warning(disable:4996)
#include <stdio.h>
#include <conio.h>
int main() {
int a = 0;
int b = 0;
printf("enter first value: ");
scanf("%c", a);
printf("\nenter second value: ");
scanf("%d", b);
printf("%d%d",a,b);
_getch();
return 0;
}
scanf()
期望得到它应该写入的变量的地址:
scanf("%d", &a);
^^
I have to use the values A and B as ints as well as use %d and %c with scanf.
您不能将 %c
与整数一起使用,因为格式字符串必须与输出参数的类型匹配。
标准建议:不要在 C++ 中使用 scanf()
。
我正在做一个学校项目,我必须将值 A 和 B 用作整数,并将 %d 和 %c 与 scanf 一起使用。我必须使用带有禁用 4996 的 scanf 来获取输入,但是它一直触发调试断言错误,我无法弄清楚。
#pragma warning(disable:4996)
#include <stdio.h>
#include <conio.h>
int main() {
int a = 0;
int b = 0;
printf("enter first value: ");
scanf("%c", a);
printf("\nenter second value: ");
scanf("%d", b);
printf("%d%d",a,b);
_getch();
return 0;
}
scanf()
期望得到它应该写入的变量的地址:
scanf("%d", &a);
^^
I have to use the values A and B as ints as well as use %d and %c with scanf.
您不能将 %c
与整数一起使用,因为格式字符串必须与输出参数的类型匹配。