我已经在程序的这一部分工作了一段时间,但我似乎无法弄清楚最后一点是什么问题。
对于" protein_powders [最大] = temp;"行。我会收到以下错误:分配给类型'int''int'
键入" struct蛋白"时的不兼容类型我该如何修复?
预先感谢!
void selection_sort(struct protein protein_powders[], int n)
{
struct protein temp;
int i, largest = 0, temp;
if (n == 1)
return;
for (i = 1; i < n; i++)
{
if (protein_powders[i].averageReview <
protein_powders[largest].averageReview)
largest = i;
if (largest < n - 1)
{temp = protein_powders[n-1];}
protein_powders[n-1] = protein_powders[largest];
protein_powders[largest] = temp;
selection_sort(protein_powders, n - 1);
}
您正在使用哪种语言和哪种编译。您的代码有几个疑问。首先,同一可变温度的重复声明。它应该抛出编译错误,例如error: conflicting declaration ‘protein temp’
。 只需选择其他名称即可解决您的问题。
您的代码中有 struct protein temp;
和 int temp;
,这会引起各种混乱(对您和编译器(。
看起来您只需要结构版本。如果您确实需要将int版本重命名为 temp_index
或类似版本。
启用所有警告可能会突出显示这是一个问题。