MikeLD MikeLD 02.11.2014, 20:29:31 2 #c #cpp #programowanie Mirki, robię sobie książkowe ćwiczenie z piramidą za pomocą pętli zagnieżdżonych. Program mi idzie w devc++ a w codeblocks nie - krzaczy mi się na odejmowaniu znaków:np K-A wg mojej logiki i devc++ wynikiem jest 10 a w codeblocks 4200714... dlaczego?Tak wygląda mój kod: http://pastebin.com/Qm1um38a Cronox 77LatBedeNiedojrzaly
patrolez patrolez 02.11.2014, 20:36:08 1 @MikeLD: nie jestem do końca pewny swojego wywodu ale:-> int ma 4 bajty-> char ma 1 bajt-> scanfem czytasz 1 char na adres zmiennej typu int-> odczytane dane (jako char) są wpisywane do zmiennej pod wskazany adres (chyba traktowany jako wskaźnik o arytmetyce char*)-> odczytanie całości jako 4 bajtowego inta powoduje nieoczekiwane dane.A no i wynik działania programu nie zależy od IDE (uproszczając edytora kodu),Pokaż całość MikeLD
K5HV K5HV 02.11.2014, 20:47:56 2 @MikeLD: Dokładnie jak powiedział @patrolez. U mnie zmiana 18 lini na z:int litera;>na:char litera;>I wygląda, że działa jak chcesz. patrolez MikeLD
Mirki, robię sobie książkowe ćwiczenie z piramidą za pomocą pętli zagnieżdżonych.
Program mi idzie w devc++ a w codeblocks nie - krzaczy mi się na odejmowaniu znaków:
np K-A wg mojej logiki i devc++ wynikiem jest 10 a w codeblocks 4200714... dlaczego?
Tak wygląda mój kod: http://pastebin.com/Qm1um38a
nie jestem do końca pewny swojego wywodu ale:
-> int ma 4 bajty
-> char ma 1 bajt
-> scanfem czytasz 1 char na adres zmiennej typu int
-> odczytane dane (jako char) są wpisywane do zmiennej pod wskazany adres (chyba traktowany jako wskaźnik o arytmetyce char*)
-> odczytanie całości jako 4 bajtowego inta powoduje nieoczekiwane dane.
A no i wynik działania programu nie zależy od IDE (uproszczając edytora kodu),
na:
I wygląda, że działa jak chcesz.