官网解释:
警告 C6385:无效数据:访问buffer-name,可读大小为size1字节,但size2字节可以读取:行:x、y
缓冲区的可读范围可能小于用于从缓冲区读取的索引。 尝试读取有效范围外的数据会导致缓冲区溢出。
源程序(已改正,警告语句在注释行):
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n, i, * p;
printf("请输入要处理的数据个数:");
scanf_s("%d", &n);
p = malloc(n * sizeof(int));
if (p == NULL)
{
printf("不能成功分配存储空间。");
exit(1);
}
printf("请输入%d个数据:\n", n);
for (i = 0; i < n; i++) //输入数据
{
scanf_s("%d", p + i);
}
for (i = 0; i < n; i++) //输出数据
{
//printf("%4d", p[i]); //Warning C6385