-2
votes

Essayer de créer une ligne avec une fonction, puis d'imprimer avec une autre fonction

gars. Je suis débutant et je dois créer une fonction qui renvoie une ligne de ligne de type de sortie des entrées Y Intercept and Slope et crée une autre fonction qui l'imprime. Lorsque j'exécute les fonctions, elle imprime surtout droit, mais X imprime comme 0,00. J'en ai besoin pour imprimer comme une variable x car je ferai une fonction ultérieurement qui trouve l'interception de deux lignes.

Voici la fonction Créer: P>

typedef struct line_struct{
    double m;
    double b;
} Line; 


5 commentaires

x n'est jamais initialisé. Vous devez vous assigner quelque chose.


et le message printf suggère qu'il y a une multiplication, ce qui n'est pas là.


@Schwern Je voulais juste créer / imprimer quelque chose comme Y = 4x +3, au lieu de y = 4 (valeur de x) + 3


@Bepiskid Comment obtiendriez-vous la valeur de 'x'? Ou vous voulez juste Imprimer X?


Veuillez extraire et fournir un exemple de reproductible minimal . En outre, en tant que nouvel utilisateur ici, prenez le tour et lisez Comment demander .


3 Réponses :


0
votes

Si tout ce que vous voulez, c'est imprimer la ligne y = 4x + 3 code>, vous n'avez pas besoin d'une variable appelée x code> du tout. Cela suffira:

printf("y = %lf x + %lf\n", a.m, a.b);


0 commentaires

2
votes

Vous supposez que la variable x obtiendra imprimée comme sortie, mais la façon dont vous avez désiré ne fonctionnera pas. Le x est un nom d'identifiant et, par conséquent, il ne peut donc pas être utilisé pour imprimer son nom lui-même.

Ainsi, vous n'avez pas besoin d'utiliser d'autres choses ici du tout. Il suffit d'imprimer simplement x dans le printf () instruction et vous avez terminé.

également, note que, selon votre condition, nous " VE utilisé int DataType ici plutôt que d'utiliser double , le double n'est requis que lorsque vous devez afficher une très grande valeur de point flottante qui ne peut pas être maintenue par le flotteur lui-même.


Vous pouvez essayer de cette façon d'atteindre: xxx

Ceci vous donnera la sortie souhaitée: < / p> xxx


0 commentaires

0
votes

Je pense que l'erreur est dans la fonction de création. J'espère que cela fonctionne de cette façon.

Line createLine (double m, double b) {
    Line y;
    double x;
    y.m = m*x;
    y.b = b;
    return y;
}


1 commentaires

L'OP veut que la lettre x soit imprimée, plutôt que d'imprimer la valeur de x .