有人可以帮助我理解为什么这会给我分段错误吗?该函数应该在列表的末尾添加n。
typedef struct lligada {
int valor;
struct lligada *prox;
} *LInt;
void appendL (LInt *l, int n){
LInt new=(LInt)malloc(sizeof(struct lligada));
while ((*l) && (*l)->prox) l=&((*l)->prox);
(*l)->prox=new;
new->valor=n;
new->prox=NULL;
}
答案 0 :(得分:3)
如果最初头节点等于void appendL ( LInt *l, int n )
{
LInt new = (LInt)malloc(sizeof(struct lligada));
new->valor = n;
new->prox = NULL;
while ( *l != NULL ) l = &( *l )->prox;
*l = new;
}
那么这个statemenet
join
为您提供分段错误。
更正确的函数定义可能看起来像
select count(distinct t1.code + t1.flname + t1.col1 + sq.flname)
from #t4 t1 join
#t4 sq
on sq.col1 = t1.col1;