-1
votes

Mon code ne produit pas le triple comme il se doit. Quel pourrait être le problème?

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    system("title 세제곱, 나눗셈");

    int num1, num2, triple;
    float division;

    printf("정수값 2개 입력 : ");
    scanf_s("%d %d", &num1, &num2);

    triple = num1 * num1 * num1;
    printf("세제곱 연산 결과 : %08d", &triple);

    division - (float)num1 / num2;
    printf("나눗셈 연산 결과 : %8.3f", &division);

    return 0;
}
c

1 commentaires

Ces symboles «&» signifient quelque chose d'important, c'est pourquoi ils sont nécessaires lorsqu'une fonction doit changer une variable dans l'appelant, comme scanf, mais pas lors de la simple lecture d'une valeur passée, comme printf.


3 Réponses :


0
votes
division - (float)num1 / num2;
I'm guessing this should be division = (float)num1 / num2;?

0 commentaires

2
votes

printf("나눗셈 연산 결과 : %8.3f", &division); Le & devant le nom de la variable signifie que vous imprimez l'adresse de la variable, pas sa valeur.

Essayez printf("나눗셈 연산 결과 : %8.3f", division);

Vous avez besoin du & dans le scanf_s , mais pas dans le printf s


0 commentaires

0
votes

Le problème est dans cette ligne:

printf("세제곱 연산 결과 : %08d", triple);

Utiliser l'opérateur d'affectation:

division = (float)num1 / num2;

Et aussi les arguments pour l'instruction printf ne devraient pas avoir & si vous voulez imprimer leurs valeurs:

division - (float)num1 / num2;


0 commentaires