yakameca a écrit :
Pouvez vous m'aider sur un petit probleme en langage C.
Citation :
# define N3000 Void delai (int p)
{
unsigned int temp = 0;
while (p--) while (--temp%N);
}
|
donc j'en es deduit,
fonction delai
{ declaration et initialisation d'un entier non signé propre à la fonction delai
tant que p n'est pas egale à 1, decrementer p
decrementation de temp
tant que le reste de la division de temp divisé par N est different de 1 tourner a gauche }
Voilà pouvez vous me corrigé merci
|
D'abord tu as une erreur, il faut laisser un espace entre N et 3000 sinon, ça ne passe pas à la compile
Citation :
{ declaration et initialisation d'un entier non signé propre à la fonction delai
|
Ça OK,
Citation :
tant que p n'est pas egale à 1, decrementer p
|
Faux, tant que p n'est pas égal à 0, on décrémente ensuite.
Citation :
tant que le reste de la division de temp divisé par N est different de 1
|
Faux, l'opérateur -- précède l'opérateur %, on décremente temp d'abord puis on prend le modulo N de temp et s'il est égal à 0 on sort de la boucle.
C'est volontairement mal écrit, c'est le genre d'exercice pour faire croire qu'on connaît le C alors que ça n'a rien à voir. Ce n'est pas parce qu'on ne fait pas de fautes de grammaire qu'on sait écrire en Français correct.
Ce qui se conçoit bien s'énonce clairement, et là ce n'est pas le cas. Et comme le dit Elmoricq, il y a de fortes chances pour que tout ça soit viré par le compilo
Peut-être que le créateur de ce bout de programme voulait faire une attente active de p fois 3000 (3 secondes ?) , mais dans ce cas il aurait fallu mettre temp++ et non pas temp--.