Czy wyrażenie w języku C:
spr = = 6;
jest poprawne? Według kompilatora nie, jednak według autora jednej książki, tak. Chyba, że w starszych implementacjach było to traktowane jako operator przyrównania.
Czy wyrażenie w języku C:
spr = = 6;
jest poprawne? Według kompilatora nie, jednak według autora jednej książki, tak. Chyba, że w starszych implementacjach było to traktowane jako operator przyrównania.
To wyrażenie nie jest poprawne składniowo i kompilator ma w tym wypadku słuszność; Porównanie to to nie jest (nie ma instrukcji warunkowej), wpisanie wartości do zmiennej logicznej także nie (nie ma odpowiedniego porównania); Wygląda jak podwójne przypisanie, co oczywiście normalne nie jest;
Być może autor książki po prostu pomyslił się w pośpiechu (i wstawił dwa razy operator przypisania) - najpewniej chciał po prostu napisać:
spr = 6;
co jest składniowo poprawne.
Poza tym zamiast zakładać wątek mogłeś poszukać informacji w dokumentacji języka, gdzie składania jest dokładnie opisana.
Mam kod:
#define SZESC = 6;
cx = SZESC;
Po czym pisze, że jest to kod prawidłowy, lecz niezbyt użyteczny.
No bo jest składniowo poprawny; Tylko co ma ten kod wspólnego z operatorem z pierwszego postu?
EDIT: Zmieniłeś kod i teraz jest niepoprawny; Po SZESC
nie może być operatora przypisania:
#include <stdio.h>
int main(void) {
int cx;
#define SZESC 6;
cx = SZESC;
printf("%d", cx);
return 0;
}
Dobra, rozumiem, sam do tego doszedłem. Jednak moje pytanie nie dotyczyło tego, jak naprawić ten problem, lecz czy ten kod jest niepoprawny i już, czy może jakieś starsze implementacje dopuszczały takie rozwiązanie? Czy to aby po prostu zwykły najzwyklejszy błąd? Jeśli tak, to koniec tematu.
@pasasap - czy Ty w końcu zrozumiesz, że przedstawiony kod jest według nowszych (nie powiem dokładnie bo nie piszę w C/C++) jest błędny? Jeśli chcesz wiedzieć czy dany kod był poprawny dla wcześniejszych standardów to poczytaj dokumentacje na ten temat, bo właśnie do tego i wielu innych celów zostały stworzone;
Poza tym nie napisałeś jaki to autor, jaka książka, więc skąd my mamy wiedzieć w jakich czasach była ona napisana? Rok temu, dwa, pięć, dziesięć, dwadzieścia? Zastanów się najpierw i zacznij nieco samemu szukać.