• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

За почетници

  • Ја почнал/а темата
  • #1

petar.bt

Intern
12 август 2007
731
20
Pocnuvam da ucam C no ne mozam da napravam nisto zosto se so i da napisam i osnovnata programa hello world nisto ne raboti.kako na primer kako e mozno ovaj kod da ne e tocen da vadi greska

#include <stdio.h>

main()
{
printf("hello, world/n");

}
mozi e malce i smesno
pomozete
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
Pocnuvam da ucam C no ne mozam da napravam nisto zosto se so i da napisam i osnovnata programa hello world nisto ne raboti.kako na primer kako e mozno ovaj kod da ne e tocen da vadi greska

#include <stdio.h>

main()
{
printf("hello, world/n");

}
mozi e malce i smesno
pomozete
vadi greska zaso imas greska , probaj vaka

#include <stdio.h>

main()
{
printf("hello, world\n");

getchar();

return 0;
}
si utnal escape karakterot, namesto \n ti si napisal /n.

eve ti gi i drugite http://www.wilsonmar.com/1eschars.htm
 

токси

Intern
4 септември 2007
8
0
Ја мислим да је боље( тј.сигурније је) да пре getchar() позовеш fflush( stdin); јер ако улазни бафер није празан getchar() неће да "задржи конзолу". Наравно у датом се примеру то не може десити али свакако ово не треба превидети. ;)
Или једноставно да користи system("pause");
 

n3tG0d

Intern
9 април 2007
115
1
a kaj ti e return 0;
a a a?
neli treba da vrati neso programot na OS vo koj se podignuva? da znaes kako zavrsila programata ?!!?
ucete decaa.. citajte knigi :p
 

токси

Intern
4 септември 2007
8
0
@_EAX
У наведеном примеру ће радити. Али ово getchar(); чита само један знак из улазног buffer-a па ако тај buffer није празан, getchar() неће "задржати конзолу" јер потребан знак не мора да уноси корисник јер се он већ налази у buffer-у.:rolleyes:
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
@_EAX
У наведеном примеру ће радити. Али ово getchar(); чита само један знак из улазног buffer-a па ако тај buffer није празан, getchar() неће "задржати конзолу" јер потребан знак не мора да уноси корисник јер се он већ налази у buffer-у.:rolleyes:
u pravo si, ali ja sam napisao samo za ovog primera :)
 

minimoog

Intern
14 јули 2007
317
16
nemora da stoi int, bi trebalo da znaes deka ako go nema toa int pod default compilerot znae deka ke vrati integer.
Мора да стои. Така е според C99 стандардот. А мора да се следи стандардот зошто main() е специфична функција.

Види C-FAQ прашање 11.12а. Незнам кај си го прочитал или кој те научил за тоа дека компајлерот знае дека ќе врати integer, но е погрешно.
 

minimoog

Intern
14 јули 2007
317
16
Нема default. Мораш точно да кажеш што точно враќа функцијата (или не враќа, т.е. враќа void).

„EAX нема да работи со никој современ компајлер. Пробај со MSVC 2005. Или уште еднаш прочитај го ова и ова.
 

the G man

Intern
20 јули 2007
44
1
Во програмски јазик C (значи не C++) е дозволено да не пишеш кој тип е функцијата, иако е препорачливо за полесно разбирање на кодот, а дифолт вредност е int барем според книгава на Брајан Керниган.
 

minimoog

Intern
14 јули 2007
317
16
Двајцата сте грешка (книгите се стари, по стариот стандард C89), а и тие другите 10 луѓе се грешка. Мора да дефинираш функцијата што враќа. Нема дефолт int.

Значи зборуваме за C99 стандардот.

Прв линк. ...a declaration that lacks a type specifier no longer has int implicitly assumed.

Втор линк. Под L. Functions must declare a return value

И конечно. Трет линк. Под 27. In a declaration, there must be at least one type specifier, i.e., the default to int has been thrown out.

Доволно е.
 

A^1^T^E^A^M

Баниран/a
18 април 2007
393
2
brmbrm.blog.com.mk
Pocnuvam da ucam C no ne mozam da napravam nisto zosto se so i da napisam i osnovnata programa hello world nisto ne raboti.kako na primer kako e mozno ovaj kod da ne e tocen da vadi greska

#include <stdio.h>

main()
{
printf("hello, world/n");

}
mozi e malce i smesno
pomozete
Код:
/*  Програма HELLO_WORLD */
#include <stdio>

void main()
{
// Порака
   printf("Да не беше оваа порака екранот ќе беше празенn");
}
кај што ти е на крајот /n смени ја насоката на косата црта „\“ :D
 

A^1^T^E^A^M

Баниран/a
18 април 2007
393
2
brmbrm.blog.com.mk
Анализа:
Првата линија од кодот (/* Прогарма HELLO_WORLD */) не работи ништо, поточно компајлерот ја игнорира. Приметиле сте дека тексот се наоѓа помеѓу знаковите /* и */ , што значи дека во питање е комнетар. За што служи тоа? Помош со коментарите на кој начин станува по читлив за човекот(за сите нас), во комапјерот се е исто дали постојат сто илијади коментари или нема ниту еден коментар. Претпоставете да сте напишале програм со 1000 линии и после два месеци сакате да тргнете некој грешки или да го промените т.е да го проширите. Ако редовно сте пишувале коментари кои опишуваат која команда што работа врши, работата ќе ви биде многу полесна затоа што нема да треба да го “дешифрирате“ кодот.

- void е тип на функцијата која ќе се врати. На ова место може да стои било кој тип на податок.
- main e името на функцијата
-() листа на параметрите на функцијата.
-// прикажу порака. Коментар
-printf(“....“). Ова е уште една функција.
-{} отворена и затворена заграда, означува еден блок на наредби.

мислам дека е точно :LOL:
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
i dvajcata se zbunivte, ti vikase za mene i za The G man deka ne sme u pravo (valjda :))

Двајцата сте грешка (книгите се стари, по стариот стандард C89), а и тие другите 10 луѓе се грешка. Мора да дефинираш функцијата што враќа. Нема дефолт int.

Значи зборуваме за C99 стандардот.

Прв линк. ...a declaration that lacks a type specifier no longer has int implicitly assumed.

Втор линк. Под L. Functions must declare a return value

И конечно. Трет линк. Под 27. In a declaration, there must be at least one type specifier, i.e., the default to int has been thrown out.

Доволно е.
a po noviot standard li e, pa taka kazi be druze, a ne deka uopste ne bilo taka.
 

the G man

Intern
20 јули 2007
44
1
Фала за апдејтот со ова стандардов, не знаев(Не дека ќе ми користи зашто појше користам C++). Старост лудост :)
 

minimoog

Intern
14 јули 2007
317
16
Мислиш јас знаев? Случајно го најдов, барајќи за restrict. Читајќи ми остана забележена inline, for како кај C++, и variable length array. Исто што ми остана како чудна разлика меѓу C и C++, e што malloc кај C нема потреба од casting(е сега по кој стандард беше...).
 

Object

Intern
18 септември 2007
75
0
Колкава расправа се отвори за само едно return 0; што треба да го додадеш на крајот од main функцијата.
Се изначитав се, на почетокот што е по default функцијата, па некакви книги, па на крај дури и разлики меѓу C и C++ :tazhen:
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
Колкава расправа се отвори за само едно return 0; што треба да го додадеш на крајот од main функцијата.
Се изначитав се, на почетокот што е по default функцијата, па некакви книги, па на крај дури и разлики меѓу C и C++ :tazhen:
i kako do zaklucok dojde deka site nemame vrska, taka? :LOL:
 

Нови мислења

Последни Теми

Статистика

Теми
43,542
Мислења
822,900
Членови
28,057
Најнов член
Iamdantes10
На врв Дно