繁体   English   中英

我在此C程序中遇到两个错误。 处理结构,数组和气泡排序

[英]Two errors I'm getting in this C program. Deals with structures, arrays, and bubble sorting

前两个错误:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM