C, C# vagy Python?
Sziasztok, Egy ideje C# ban "programozok" tetszik is meg minden de inkább majd Operációs rendszereket és játékokat szeretnék készíteni. A kérdésem az lenne hogy bár tudom millió + 1 ilyen kérdés van de pont ilyen nincs, hogy melyiket ajánlanátok a fentebb említett célokra?
A C#-t azért nem szeretném folytatni mivel az csak windows-ra van és én inkább a Linux -ot szeretem használni!
Válaszokat köszönöm! 14/F
Oké, köszönöm már csak azt nem értem ez miért nem jó:
int osszeg = 0;
for(int szam = 0; szam < 10; szam++)
{
.. osszeg = osszeg + 1;
.. printf("- %d", osszeg);
}
--------------------------
Illetve ennek miért 0 lett az értéke:
int szam = 0;
printf("Adj meg egy számot!");
scanf("%d", &szam);
szam = szam / 2;
printf("A szám fele: %d!", szam);
Az elsővel az a gond, hogy ahelyett, hogy a végeredményt írnád ki, minden egyes számítási lépésben kiírod az eredményt.
int osszeg = 0;
for(int szam = 0; szam < 10; szam++)
{
.. osszeg = osszeg + 1;
.. //vagy rövidebben: osszeg++;
}
printf("- %d", osszeg);
A második példában azt a jelenséget tapasztalod meg, hogy adva van két egész szám:
- az egyik az "int szam"
- a másik pedig a 2
Ha két egész számot akarsz osztani, akkor egész osztás történik. Például:
int Eredmeny = 5 / 3; //Az eredmény 1 lesz, mivel az 5-be a 3 csak "egyszer fér bele"
int Maradek = 5 % 3; //Az eredmény 2 lesz, mivel ha 5-öt osztod 3-mal, kijön 1, azaz 1*3=3, és 5-3=2
Ha tizedes pontossággal szeretnél osztani, akkor a két szám közül legalább az egyiknek lebegőpontos számnak kell lennie:
float Eredmeny = 5 / 3.0;
vagy
float Eredmeny = 5 / (float)3; //1,67...
De ezzel is valami baja van:
" for(int szam = 1; szam < 10; szam++) "
error: 'for' loop initial declarations are only allowed in C99 mode
Nos azzal azért van baj, mert te még egy régebbi C szabvánnyal dolgozol a fordítás során. Ha ilyet akarsz írni, hogy
for (int Szam = 1; Szam < 5; Szam++)
akkor ezt két részre kell szedned:
int Szam;
for (Szam = 1; Szam < 5; Szam++)
Vagy a másik megoldás, hogy újabb szabványt állítasz be a fordításhoz:
gcc proba.c -std=c11 -o proba.exe
Nem "valami baja van", pontosan le van írva mi a baja.
for(int szam = 1; szam < 10; szam++)
'for' loop initial declarations are only allowed in C99 mode
A 99-es C szabványban nincs olyan, hogy a ciklusváltozód a for fejlécében deklarálod. Szét kell szedni két sorra
int szam;
for(szam = 1; szam < 10; szam++)
vagy magasabb szabvánnyal kell fordítani az alkalmazást.
int Szam;
for (Szam = 1; Szam < 5; Szam++)
Ha ezt használom: Teszt.exe működése leállt
gcc proba.c -std=c11 -o proba.exe
Ezt meg sajnos nem tudom hogy kell :/
"Bocsánat. Legyünk szakmailag precízek és nevezzük exit code-nak."
Legyünk szakmailag precízek és merjük kimondani, te egy kretén vagy. A sületlenségeidet meg már terhes olvasni.
Hogy a kérdezőket is félrevezeted az áltudományos, okoskodó, buta szövegeddel, az már a hab a tortán.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!