Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C] Liczenie sumy w funkcji

morswin89 01 Maj 2010 19:36 779 2
  • #1 01 Maj 2010 19:36
    morswin89
    Poziom 23  

    Witam

    Jako że muszę opanować funkcje w C w ramach treningu stworzyłem prosty program który miałby policzyć sumę dwóch liczb lecz niestety coś muszę źle robić bo wynik nie jest taki jak powinien być. Proszę o jakieś sugestie.

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

    int suma (int a, int b)
    {
    int suma;
    suma = a+b;
    return suma;   
    }

    int main(int argc, char *argv[])
    {

    int a, b, c;

    printf("Podaj liczbe calkowita a = ");
    scanf("%f",&a);

    printf("Podaj liczbe calkowita b = ");
    scanf("%f",&a);

    c = suma (a, b);
    printf("suma = %d\n\n ",c);

      system("PAUSE");   
      return 0;
    }

    0 2
  • #2 01 Maj 2010 21:19
    utak3r
    Poziom 25  

    morswin89 napisał:
    int suma (int a, int b)
    {
    int suma;
    suma = a+b;
    return suma;
    }


    Nie - nazwałeś zmienną lokalną tak samo, jak funkcję... To bardzo zły nawyk, oducz się tego. A zobacz, co wyjdzie, jeśli ową funkcję zdefiniujesz:

    Code:

    int suma (int a, int b)
    {
      return (a + b);
    }


    ?


    No i babol z przypisaniem a zamiast b ;)

    0
  • #3 01 Maj 2010 21:58
    morswin89
    Poziom 23  

    Faktycznie nie zauważyłem że źle przypisałem zmienna - to już poprawione. Zmiana ciała funkcji niestety nic nie pomogła.

    Dodano po 7 [minuty]:

    Problem rozwiązany źle formatowałem pobierana liczbę, trzeba było dać %d zamiast %f.

    0