因为要参加自考所以按课本的要求做了个实验题。
题目要求是编写一个程序,动态分配能存10个int值的数组;通过键盘为数组赋值以下
以下是我的代码
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
int* a,b=1;
a = (int*)malloc(b* sizeof(int));
if (a!=NULL)
{
for (int i = 0; i <b; i++)
{
a[i]=0;
}//初始化
for (int i = 0; i < b; i++)
{
printf("数字以空隔键分开,回车键确认\n\n");
if (b == 1)
{
printf("请输入要数组的个数\n");
scanf_s("%d", &b);
}
printf("请输入要计算第%d数\n", i+1);
scanf_s("%d", a+i);
system("cls");
}
}
free(a);
a = NULL;
return 0;
}
我在任意输入数组个数后,通过键盘把所有值都输完后出现以下错误,