+1 ./59.
La lisibilité et la portabilité du code, qui sont deux éléments de la maintenabilité, sont diminuées par le mélange de code et de déclarations (autorisé par C99).
GoldenCrystal (./69) :Non, cf ./68
./67 > Bah déjà, pour être à égalité, tu devrais comparer char * const str1 avec const char str2[] parce que sinon les types ne sont même pas compatibles.
Ensuite, str2 = str1 ne fonctionne peut être pas, mais str1 = str2 si...Oui, cf ./67
La différence est beaucoup plus floue qu'une simple différence pointeur ≠ tableauSi, puisqu’un tableau n’est rien d’autre qu’un pointeur constant.
Sasume (./68) :
(En fait const char str2[] = "bar"; est équivalent à const char * const str2 = "bar";)
Hmm, pourquoi un tableau serait plus un pointeur qu’un pointeur constant ? On n’a pas le d
short buff[] = ""; //H c'est ce qui contient la chaîne entrée par l'utilisateur. while(key != 13) { if(kbhit()) { key = ngetchx(); h[strlen(h)+1] = fgetchar(); } DrawStr(6,36,h,1); }
Thibaut (./76) :
Ca va planter à coup sur
Kevin Kofler (./79) :Bon, puisqu'on se plait à défoncer des mouches, je retorque que c'est inextact. Il peut contenir autre chose : un tableau de caractères de taille 1.
il ne peut effectivement contenir que la chaîne vide
Folco (./77) :
il se dirige droit vers des bugs aléatoires,
Sasume (./78) :
Tu dois utiliser la valeur renvoyée par ngetchx plutôt que de faire un appel à fgetchar.
Sasume (./78) :
Et au fait, n'utilise jamais la variable buff, tu risquerais de faire planter ton programme!