gpt4 book ai didi

c - 我在这个 C 程序中遇到两个错误。处理结构体、数组和冒泡排序

转载 作者:行者123 更新时间:2023-11-30 15:22:34 24 4
gpt4 key购买 nike

前两个错误:

cs1713p3.c:129: error: incompatible types in assignment
cs1713p3.c:131: error: conversion to non-scalar type requested

第 129 行和第 131 行是我编写的冒泡排序函数的一部分,该函数旨在对名为“Stock”的结构数组进行排序。这是股票结构的代码:

typedef struct
{
char szStockNumber[7]; // Stock Number for a stock item
long lStockQty; // quantity in stock
double dUnitPrice; // price per unit of stock
char szStockName[31]; // name of the stock item
} Stock;

这是我为排序编写的代码:

void sortInventory(Stock stockM[], int iStockCnt)
{
Stock *temp;
int i;
int j;
int bChange = 1;
for(i = 0; i < (iStockCnt - 1) && bChange == 1; i++)
{
bChange = 0;
for(j = 0; j < (iStockCnt - i - 1); j++)
{
if(strcmp(stockM[i+1].szStockNumber, stockM[i].szStockNumber) < 0)
{
temp = stockM[i]; //line 129
stockM[i] = stockM[i+1];
stockM[i+1] = (Stock)temp; //line 131
bChange = 1;
}
}
}
}

是的,我尝试在每行等号后面使用 (Stock) 来对每个作业进行类型转换,但这不起作用。

感谢所有提供帮助的人!我不知道出了什么问题,而且我在网上似乎找不到任何相关信息,我认为这太具体了,哈哈。

最佳答案

stockMStock 类型的数组。另一方面,tempStock* 类型的数组。因此,您基本上是在尝试将 Stock 类型的变量的值分配给 Stock* 类型的变量,这是不允许的。

temp 的类型更改为 Stock

关于c - 我在这个 C 程序中遇到两个错误。处理结构体、数组和冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com