User Tools

Site Tools


dydaktyka:cprog:common_mistakes

This is an old revision of the document!


Częste błędy

…czyli na co zwracać szczególną uwagę podczas pisania programu.

Przypisanie czy porównanie?

W języku C operator = oznacza przypisanie, natomiast operator == – porównanie dwóch wartości (zobacz: operatory relacyjne):

int a = 5;        // przypisanie do zmiennej `a` wartosci 5
 
if (a == 7) {     // porownanie wartosci zmiennej `a` z wartoscia 7
    ...
}   

:!: Operator przypisania przypisuje temu, co stoi po lewej stronie (zazwyczaj zmiennej), wartość stojącą po prawej stronie.

int a;
2 = a;  // blad!
a = 2;  // OK

if-else

Zamiast powtarzać ten sam warunek logiczny, tylko w formie zaprzeczenia, możesz skorzystać z konstrukcji if-else (jeżeli – w przeciwnym razie).

// Dziala, ale trzeba duzo pisac i malo to czytelne...    
if (a*a + b*b == c*c) {
    return 1;
}
if (a*a + b*b != c*c) {
    return 0;
}
// Lepiej!
if (a*a + b*b == c*c) {
    return 1;
} else {
    return 0;
}

  • typ zmiennych podajemy tylko w deklaracji funkcji - nie w wywołaniu
  • return 0; w main()
dydaktyka/cprog/common_mistakes.1447003428.txt.gz · Last modified: 2020/03/25 11:46 (external edit)