Kezdő programozó vagyok és az eerdekelne hogy a bug-ok hogy "kerülnek bele a programba" és hogy javítják ki őket?
Például egy ilyen:
int Num;
printf("Adjon meg egy számot: ");
scanf("%d", &Num);
if (Num > 0)
puts("A szám pozitív");
else if (Num < 0)
puts("A szám negatív");
Kedves kérdező, szerinted hol a hiba?
.
.
.
.
.
.
.
.
1) Nincs a 0 lekezelve. Nem ír ki semmit, ha a Num értéke 0.
2) Mi van, ha a felhasználó nem is számot ad meg?
3) Mi van, ha a felhasználó egyáltalán nem ad meg semmilyen adatot, hanem egyszerűen csak egy EOF-ot?
X) És még ki tudja, miket nem vettem észre...
> Ezeket nem jelzi ki a futtatás?(amikor futtatom akkor kijelzi hanyadik sor hanyadik karakter van rosszul)
Kiadott verziónál nem. De fejlesztésre létezik egy úgynevezett "debug" konfiguráció, ahol a lefordított kódba, vagy külön fájlba bekerülnek azok az információk, amivel vissza lehet követni az eredeti forrás állományt, sorra pontosan. nyilván ezek többletinformációk és műveletek, amik növelik a program méretét és a számításkapacitás igénye is nagyobb. Ez teszteléshez szinte nélkülözhetetlen.
Egy kellőképpen letesztelt programot, nyilván nem ilyen módon fordítanak, hanem kiadási "release" konfigurációval.
"Ket fajta hiba letezik, a szintaktikai mikor nem teszel ki pl. egy kapcsos zarojelet vagy egy pontos vesszot ezert a fordito nem tudja a kodot leforditani, a masik pedig a logikai hiba, mikor helyesen gepeled be a kodot de a gondolatmenet nem helyes erre egy jo pelda a vegtelen ciklus..."
És van az, amikor lefordul a kód, de nem linkelődik össze, ezek a kezdő programozó leggyilkosabb ellenségei, mert nem írnak ki semmit, amiből következtethetsz a probléma helyére (közvetlenül megelőzve a template-es hibákat a kilométeres hibaüzenetfolyammal).
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!