Kezdőoldal » Számítástechnika » Programozás » Mi az, hogy szegmentacios...

Mi az, hogy szegmentacios hiba? Egy egyszerű programozasi feladatnál ütköztem bele és nem tudom hogy és milyen hibát keressék.

Figyelt kérdés

Tok kezdő vagyok, a feladat: olyan progit kell írni, ami megszamolja egy pozitiv egész szám valódi osztoit(azaz 1en és önmagán kívül hány db osztoja van).

Lehet hogy hibás a gondolatmenet, de ezt írtam:


#include <stdio.h>

int main (void) {

int szam, oszto=2, eredmeny=0;

printf("Adj egy szamot: ");

scanf("%d",szam);

if (szam<=3)

printf("d%\n",eredmeny);

if (szam>3)

while (oszto <= szam/2){

if (szam%oszto==0)

eredmeny=eredmeny+1;

oszto=oszto+1;

}

printf("%d\n",eredmeny);

return 0;

}


Linuxra írtam, c nyelven. Le tudtam fordítani gépi kódra. El is indul, bekeri a számot, majd kiirja h szegmentacios hiba van. És ennyi...


Valaki vilagositson fel legyszi!

Köszönöm! !!!



#Szegmentacio
2018. szept. 14. 09:59
 1/3 anonim ***** válasza:
A scanf-nél &szam kell legyen, mert a scanf egy pointert kér argumentumként, nem egy változót.
2018. szept. 14. 10:01
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Tenyleeeeeeg.. Köszönöm!
2018. szept. 14. 10:03
 3/3 anonim ***** válasza:
100%

Amúgy a szegmentációs hiba azt jelenti, hogy olyan memóriát próbáld írni/olvasni a program, amihez nincs joga (pl az operációs rendszer, vagy más program memóriaterülete), ezért az oprendszer kilőtte a programodat.


Ebben az esetben azért lép fel, mert a scanf a szam változót pointerként értelmezi, és bele próbál túrni a memóriában oda, amennyi az értéke (pl ha 325654270, akkor oda). Ez nagy eséllyel nem fog neki sikerülni (szam-nak nincs kezdőértéke, tehát véletlenszerű, hogy mennyi).

2018. szept. 21. 14:26
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!