【发布时间】:2013-11-21 05:04:27
【问题描述】:
我的 C 语言有问题。
这个 for 循环创建一个包含文件信息的列表。每行“pl”、“pc”和“pv”。
并且也打印每行的信息,3个数字。
================================================ ======
例如。 1
for(i = 0, aux = base->prox; i < p; aux = aux->prox, i++){
aux = (celula *)malloc(sizeof(celula));
fscanf(file, "%d %d %d", &(aux->pl) , &(aux->pc), &(aux->pv));
printf("%d %d %d\n", aux->pl , aux->pc, aux->pv);
}
================================================ ======
在第二个示例中,我将信息从 for 循环中打印出来,但在另一个 for 循环中,它会遍历在前一个 for 循环中创建的列表。
================================================ ======
例如。 2
for(i = 0, aux = base->prox; i < p; aux = aux->prox, i++){
aux = (celula *)malloc(sizeof(celula));
fscanf(file, "%d %d %d", &(aux->pl) , &(aux->pc), &(aux->pv));
/*printf("%d %d %d\n", aux->pl , aux->pc, aux->pv);*/
}
for(aux = base; aux != NULL; aux = aux->prox){
printf("%d %d %d\n", aux->pl , aux->pc, aux->pv);
}
================================================ ======
现在,问题是:在第一个示例中,它正常打印信息。在第二个例子中,不是像第一个例子那样正常打印信息,而是只打印一行“0 0 0”。
第一个例子和第二个例子有什么不同?它不应该这样做吗?
请帮忙!
【问题讨论】: