int** a = (int**)malloc(B*sizeof(int*));
int* b = (int*)malloc(A*sizeof(int));
int* c1 = (int*)malloc(A*sizeof(int));
int c, d, e, f, i, j, A, B, C;
sizeof(a);
scanf("%d", &A);
scanf("%d", &B);
scanf("%d", &C);
menu();
scanf("%d", &c);
while (1)
{
if (c >= 1 && c <= 3) break;
else
{
printf("選擇錯誤,請重新選擇:");
scanf("%d", &c);
}
}
system("cls");
switch (c)
{
case 1:
{
for (i = 0; i < B; i++)
{
printf("請輸入選手成績\n");
printf("%d號評委:\n", i + 1);
a[i] = (int*)malloc(A*sizeof(int));
for (j = 0; j < A; j++)
{
printf("%d號選手成績:", j + 1);
scanf("%d", &a[i][j]);
while (1)
{
if (a[i][j] > 0 && a[i][j] <= C) break;
else
{
printf("輸入錯誤,請重新輸入分數(范圍:0到%d):", C);
scanf("%d", &a[i][j]);
}
}
}
system("cls");
}
printf("已錄完所有成績\n");
printf("按回車鍵回傳上一級");
while (1)
{
if (getch() == '\r')
break;
}
system("cls");
資料溢位了求修改
uj5u.com熱心網友回復:
把a,b,c1申請記憶體的代碼放到menu()的前面。因為A,B,C還沒輸入,你申請記憶體計算記憶體空間就不正確,要注意代碼的先后順序。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114545.html
標籤:新手樂園
