Kezdőoldal » Számítástechnika » Programozás » C programozási nyelv kérdés!...

C programozási nyelv kérdés! Mit rontottam el? (bővebben lent)

Figyelt kérdés

Nagyon kezdő programozópalánta vagyok, igazából csak ki szerettem volna próbálni egy programot (a neve Dev-C++, de beállítottam, hogy C-ben programozzon), ezt írtam be:

#include <stdlib.h>

#include <stdio.h>


main( )

{

printf ("Helló vilag!")

}

A két headert automatikusan adta hozzá a program, azokhoz nem piszkáltam hozzá, a többit én írtam be, de ha le akarom fordítani, ezt a két hibaüzenetet nyomja ki:

[Build Error] ["Helló világ!"] Error 1 (ebből azt hámoztam ki, hogy a felépítésében van valami hiba, de nem tudom, mi)

(a hetedik sorban) syntax error before '}' token (vagyis valami mondattani hibát vétettem...?)

Próbaképpen egy másik programot is bemásoltam, amit a netről szedtem, de arra is kiírta az elsőt. Akkor most velem vagy a programmal magával van baj?

Ha valaki segítene, nagyon megköszönném!



2013. okt. 16. 22:14
 1/8 anonim ***** válasza:
15%

3 hiba is van.

1. Nincs a mainnek visszatérési értéke.

2. A printf() után nincs pontosvessző.

3. Nem adsz vissza értéket a main végén.

A kód helyesen:

#include <stdlib.h>

#include <stdio.h>


int main()

{

printf("Helló világ!");

return 0;

}

2013. okt. 16. 22:39
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

A pontosvessző maradt le az utasítás végéről. Ezért jelezte a hibát a }-nél.


A "mondattani" szót pedig valami Google Translate vagy szótár dobta ki? Felejtsd el a szakszavak magyarra fordítását, inkább tanuld meg, mi az a szintaxis! :)

2013. okt. 16. 22:42
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

Próbáld így:


#include <stdio.h>

int main(void)

{

printf("Hello World\n");

return 0;

}



A másik variáció, hogy az eredeti programodban ne használj ékezetes betűket. (Hello world, Hello vilag) Mert amúgy még akár le is fordulhatna, fordítótól függően.

2013. okt. 16. 22:46
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:

"syntax error before '}' token"


Nem túl beszédes fordító. A CodeBlocks fordítója (MinGW), ezt írja:

...main.c - 7 - error: expected ';' before '}' token

Vagyis pontosvesszőt hiányol a '}' előtt.

Az int hiányára csak figyelmeztet, de lefordítja. :)


Amúgy a szintaktikai hiba azt jelenti, hogy formai hiba, tehát a fordító nem tudja értelmezni a forráskódot, nem felel meg a programnyelv szabályainak.

2013. okt. 17. 09:23
Hasznos számodra ez a válasz?
 5/8 iostream ***** válasza:
100%

"1. Nincs a mainnek visszatérési értéke.

2. A printf() után nincs pontosvessző.

3. Nem adsz vissza értéket a main végén."


Ebből a háromból csak egy igazi hiba. A C ismeri a default int fogalmát. Változókra, függvényekre, ha nincs kiírva a típus akkor int. A main visszatérési értéke meg szintén implicit 0.

2013. okt. 17. 10:08
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

Köszönöm a válaszokat!

1. Az egészet egy elég régi könyv után csináltam, ahol a main-t soha nem deklarálták, legalábbis nem láttam.

2. Ez sajnos nem az én hibám, hanem a programé, gondoltam is erre a hibára, de egyszerűen nem engedte kitenni a pontosvesszőt valamiért.

3. Nem is gondoltam volna, hogy egy ilyen egyszerű utasítás után is ki kell tenni a return-t, de jó, hogy már ezt is tudom.

Valamint lenne még egy kérdésem. Miután az összes hibát kijavítottam és végre lefordítottam&lefuttattam, a program ablakja csak egy töredék másodpercre jelenik meg, aztán eltűnik. Lehetne valahogy stabilizálni?

2013. okt. 17. 16:05
 7/8 anonim ***** válasza:

A return elé szúrd be:

getchar();

2013. okt. 17. 16:12
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Ja bocs, enter-re megy tovább.
2013. okt. 17. 16:13
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!