Je veux faire un programme capable de calculer les vecteurs avec le produit DOT mais ma somme est toujours 0 qu'est-ce que j'ai mal fait dans ce code? Je suis nouveau aux pointeurs et aux fonctions si cela est important pour vous. J'ai tout codé uniquement dans la fonction principale et cela a fonctionné, mais je veux que le calcul dans une autre fonction soit plus clair au lieu d'écrire tout dans la fonction principale. Je l'ai compilé avec serait bien si vous pouviez m'aider ici :) P> Voici le code: p> -wall code> et -werror code> et j'ai obtenu 0 avertissements.
4 Réponses :
en C, les variables sont transmises par la valeur. Cela signifie que lorsque vous modifiez la valeur de la manière idiomatique lorsque vous n'avez besoin que d'une valeur que vous devez le renvoyer: p> et dans la principale: p> alternativement, si vous devez renvoyer plusieurs valeurs, vous pouvez transmettre des pointeurs à la Variables de sortie p> p> somme code> dans Calcul (code>, vous ne modifiez qu'une copie locale.
Cette fonction doit modifier p>
La fonction renvoie un double code>. S'il devait passer somme code> par référence, il n'y a pas besoin de type de retour double code>, il peut être vide code>.
dans Dans cette fonction, vous modifiez double calcul (int o, double * A, double * b, int Sum) code> Le dernier argument est passé par la valeur 1 sup>. C'est-à-dire que lorsque vous appelez calcul (..., somme); code>, la variable somme code> est copié em> puis transmis à la fonction. p>
somme code>, mais cela ne modifie que la copie de la variable d'origine passée. Pour résoudre ce problème, passez un pointeur ou simplement retourner la somme de votre fonction. P>
Merci beaucoup, j'ai seulement retourné la somme dans la fonction parce que sa seule valeur et maintenant mon programme fonctionne :)
Le problème avec votre code est que le aussi si vous obtenez Une solution possible pourrait être comme ceci: p> ou vous pouvez transmettre l'adresse de somme code> est une variable locale dans la fonction code> Calculation code>. Ainsi, lorsque vous revenez à la page principale, votre variable est la destruction et la somme dans la principale code> est toujours 0. Valeurs de point flottant code> pour Dimensions code> alors vous devez utiliser double pour la somme forte> aussi. p> somme code> à la fonction de calcul comme suit: p>