-4

malloc を使用せずにこのプログラムを使用するにはどうすればよいですか? temp.next=&newtempプログラムを使用した場合、エラーは発生しませんか? malloc を回避する方法を学ばなければなりません。

    for(int ;;){
    printf("Fusni N(numrin e qyteteve): "); scanf("%d", &N);
    if(N<13 || N>100) {printf("Futet N gabim\t( 13 < N < 100)\n\n");continue;}
M=1;
while(1){
p = q = malloc(sizeof(struct node));

    p->id_qyteti = 1;

    for (i = 2; i <= N; ++i) {
        p->pas = malloc(sizeof(struct node));
        p = p->pas;
        p->id_qyteti = i;
    }

    p->pas = q;
 printf("M=%d, Zonat ku nderpritet rryma:\n", M);

for (count = N; count > 1; --count) {
 printf("%d ",p->pas->id_qyteti);   p->pas = p->pas->pas;
if(count==2)printf("\n\n");
      for (i = 0; i < M - 1; ++i) p = p->pas;
}
if(p->id_qyteti==13)

 {
printf("13.Tirana ngelet e fundit\n");
   printf("M-ja minimale: %d\n", M);
   break;

 }
else M++;

}}
return 0;
}
4

1 に答える 1

2

配列で使用できますが、容量が制限されるという問題があります。たとえば、struct yourstruct[500];次の空き構造体がどこにあるかを示す整数を持つことができますmynode->next = &yourstruct[i++]。もちろん、無料の構造体がどこにあるかを知るために、より適切な制御が必要です。

于 2013-06-04T14:47:05.873 に答える