问题遇到的现象和发生背景
牛客的结构体练习题
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include <stdio.h>
#include <malloc.h>
struct Book
{
char str[100];
float p;
};
int main(void)
{
struct Book* parr;
int n, i, j;
struct Book t;
scanf("%d", &n);
parr = (struct Book*)malloc(n * sizeof(int));
for (i = 0; i < n; i++)
{
scanf("%s", parr[i].str);
scanf("%f", &parr[i].p);
}
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - 1 - i; j++)
{
if (parr[j].p > parr[j + 1].p)
{
t = parr[j];
parr[j] = parr[j + 1];
parr[j + 1] = t;
}
}
}
for (i = 0; i < n; i++)
printf("%s\n", parr[i].str);
return 0;
}
运行结果及详细报错内容
它说我这个例子报错,但我用vs2022这个例子是可以写出来的,我不太清楚错误在哪里?