姐姐,您有 C 的基础吗?结构体与其指针是相同的 *L == L (地址),但用法不一样。这里是要寻找,没有必要去复制一笔资料再来比大小,直接遍历就可以了,所以用指针的方式
struct slist
{
double s;
struct slist *next;
};
typedef struct slist STREC;
double fun( STREC *h )
{
double max=h->s; // h->s >> max = h 的资料,因为 s 是 double 型的资料
while(h!=NULL) // 这是遍历/搜索的写法:如果指针不是指向 NULL(尾端),继续循环
{
if(max<h->s) // 如果在寻找过程发现新的资料 s 比目前 max 所记录的值来得大
max=h->s; // 更新记录,max = h 的 s
h=h->next; // h 指向下一个元素
}
return max; // 上面找完所以元素了,把最大值返回
}
加入适当的空格,方便阅读
那边最好这样写 if(max<h->s) //如果在寻找过程发现新的资料 s 比
{
max=h->s;
}
|