[ vozho @ 28.05.2010. 10:57 ] @
veoma prosto pitanje-zasto ovo ne radi:

Code:
//main.c

#include "zbir.h"

int main() {
    int a=2,b=3;
    saberi(a,b);
    return 0;
    }



Code:
//zbir.c

#include "zbir.h"

int saberi(int a,int b) {
    return a+b;
    }



Code:
//zbir.h
int saberi(int a,int b)

probao 3 kompajlera,stavio u project....
[ Mihajlo Cvetanović @ 28.05.2010. 11:04 ] @
To "radi" u smislu da funkcija saberi prima dva parametra i vraća njihov zbir, ali povratna vrednost se nigde ne koristi. Kad bi recimo stavio int c = saberi(a,b) onda bi se rezultat sačuvao u toj promenjivoj c, ali se ne bi prikazao na ekranu. Ako želiš da prikažeš na ekranu onda posle pozivanja funkcije saberi moraš da pozoveš i printf: printf("rezultat je %d\n", c). Ili, da izostavimo promenljivu c: printf("rezultat je %d\n", saberi(a,b)).
[ vozho @ 28.05.2010. 11:09 ] @
znam za

c=saberi(a,b);
printf("%d",c);

nego,meni je bitna sushtina,sto se ne kompajlira...
vidis da nisam hteo nista od toga,samo da vidim jel radi pozivanje funkcije,pa nisam stavio ni
#include <stdio.h>
[ Mihajlo Cvetanović @ 28.05.2010. 11:20 ] @
Onda se nismo razumeli. Probaj umesto uopštenog pitanja "zašto ovo ne radi" da nam opišeš šta se dešava, a šta očekuješ da se desi. I ako kompajler izbacuje neku grešku onda daj ovde taj tekst koji kompajler izbacuje. Što budeš precizniji to će nam manje iteracija trebati da rešimo problem.
[ vozho @ 28.05.2010. 11:57 ] @
Citat:
Onda se nismo razumeli. Probaj umesto uopštenog pitanja "zašto ovo ne radi" da nam opišeš šta se dešava, a šta očekuješ da se desi. I ako kompajler izbacuje neku grešku onda daj ovde taj tekst koji kompajler izbacuje. Što budeš precizniji to će nam manje iteracija trebati da rešimo problem.



ajde,ako treba.
Ja zelim samo da se kompajlira,da radi,da vidim jesam li razumeo koriscenje vise datoteka.Npr. to sto ce samo da se otvori i zatvori konzola(da trepne,osim ako ga ne pokrenem iz cmd-a)
mi nije ni bitno(nema ni input,a i mogao sam npr. da stavim system("pause")...).

od gresaka:

( vc++ 2008 )

Error 2 error C2143: syntax error : missing ';' before '{' \main.c 5
Error 1 error C2085: 'main' : not in formal parameter list \main.c 5
Error 4 error C2082: redefinition of formal parameter 'b' \main.c 6
Error 3 error C2082: redefinition of formal parameter 'a' \main.c 6

( dev-c++ )

\main.c In function `saberi':
5 \main.c syntax error before '{' token
C:\Dev-Cpp\Makefile.win [Build Error] /main.o Error 1


jedino sam skinuo path pre ovih main.c,da bude preglednije,svi vode ka istom folderu...
[ Mihajlo Cvetanović @ 28.05.2010. 12:04 ] @
Sad vidim da deklaracija funkcije u heder fajlu nema ; na kraju.
[ vozho @ 28.05.2010. 12:11 ] @
e sad,ne znam da li da napisem haha,ili hahaha,ili da dodam jos jedno 50 stringova 'ha'

covece,pa jeste to!!
ne mogu da verujem da sam pokrenuo temu samo zato sto sam promasio jedno ";".
Ali svejedno,nisam znao da treba da se stavi...lol.Sad znam,naucio sam nesto novo
A ja se konstantno cudim,sto li mi javlja tu gresku...

hvala ti
[ Mihajlo Cvetanović @ 28.05.2010. 12:29 ] @
Nema na čemu. Ima jedna slična klopka za početnike, kad treba definisati neku strukturu. To je jedino mesto gde moraš da staviš ; posle } (i zato početnici greše). Primer definicije strukture (ili klase, svejedno):

Code:
struct Struktura
{
  int neki_member;
};


E ovaj poslednji ; se često greškom izostavi.
[ vozho @ 28.05.2010. 12:39 ] @
Da,znam za strukture.Npr. pre tog tacka zareza se moze deklarisati promenljiva koja je tipa te strukture...
znam i datoteke,i unije,i liste...nego ponekad neku glupost ne znam...ovo za ';' je bas strasno. :)