Mam pewną strukturę:
typedef struct { signed int val_c; unsigned char val_d; }charval;
Na niej zdefiniowane pewne funkcje (operatory):
//Dodawanie dwóch charval charval Add(charval skl1, charval skl2); //Dodawanie l. calkowitej do charval charval AddC(charval skl1, int skl2_val_c); //Odejmowanie dwoch charval charval Sub(charval odjemna, charval odjemnik); //Mnożenie charval lcalk charval MultC(charval czynn1, char czynn2);
Dlaczego po wykonaniu tego typu operacji: Sub(AddC(zero, A_60), MultC(delta,2)) wychodzi mi jakaś kaszana, która wcale nie jest zgodna z oczekiwanym wynikiem
Natomiast gdy zrobięcoś takiego charval w1, w2; w1 = AddC(zero, A_60); w2 = MultC(delta,2); Sub(w1,w2); Wszystko działa OK
Co może być przyczyną takiego obrotu sprawy. Błąd kompilatora, błąd przekazywania parametrów do funkcji??. Gdy puszczę wszystko pod Visualem, czy Borlandem nie ma problemów z błędnie działającymi funkcjami( tylko co mi z tego jak chcę to puścić to na '51). Dzięki za wszelkie sugestie. Marcin