2014-01-13 4 views
-2

Я разрабатываю программу c. Я использую эту структуру:Измените цикл WHILE на цикл FOR в C

main.h:

#define LONG_CADENA 22 
#define NUM_CADENAS 5 
#define formato "%22s%22s%22s%22s%22s\n" 
#define indi_format "%22s" 
typedef struct Agenda 
{ 
    char*nom[NUM_CADENAS]; 
    struct Agenda *ant,*sig; 
}ag; 

У меня есть эта функция, чтобы показать повестку объекта:

#include <stdio.h> 
#include "main.h" 
ag *mostrarAgenda(ag*act) 
{ 
    unsigned i=0; 
    void*ini; 
    ini=act; 
    while(act++->sig)//ma1: Reescribir esta línea utilizando el bucle for 
     for(;i<NUM_CADENAS;i++) 
     printf(indi_format,act->nom[i]); 
    printf("\n"); 
    getchar(); 
    return ini; 
} 

Мне нужно изменить де ПОКА цикла в цикл, но Я новичок в C, и я не знаю, как это сделать.

Помогите пожалуйста?

Благодаря

+1

Зачем вам нужно его менять (и у вас уже есть один для цикла)? – Rob

+1

Попробуйте 'for (; act ++ -> sig;)'. Но почему? Это домашнее задание? – Maroun

+0

Потому что я делаю тест, чтобы узнать C. Спасибо! – alberph

ответ

1

Вы можете изменить время цикла, как for(;act->sig;act++) или for(;act++->sig;). Между ними нет разницы в производительности. Не знаете, почему вы этого хотели. Надеюсь это поможет.

Смежные вопросы