Problem sa funkcijama programa u C

Problem sa funkcijama programa u C

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Ovako.. Radim sada funkcije u C-u ali ih uopste ne razumem. Ja znam kao se definisu i to, ali ne razumem sta rade. Evo jedan primer:

void string(int n, char ch) {       while(n-- > 0)            putchar(ch); }

Sta radi ovo telo funkcije i koju brojnu vrednost imaju n i ch kada se ovako definisu u funkciji. To ne razumem. Kako zna sta da stavi u telo funkcije kada nezna koja je brojna vrednost ovih 2 promenljivi u funkciji(n i ch).

Hvala unapred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Na odmoru xD
  • Na odmoru xD
  • Pridružio: 15 Feb 2012
  • Poruke: 430

Funkcije mozes defniisati na 2 nacina
1.
#include <stdio.h> int zbir(int a, int b) {     int c;     c = a + b;     return c; } int main(void) {     int a,b,c;     scanf("%d %d",&a,&b);     c = zbir(a,b);     printf("%d\n",c);     system("PAUSE");     return 0; }

2.
#include <stdio.h> int zbir(int a,int b);  //prototip funkcije int main(void) {     int a,b,c;     scanf("%d %d",&a,&b);     c = zbir(a,b);     printf("%d\n",c);     system("PAUSE");     return 0; } int zbir(int a,int b) {     int c;     c = a + b;     return c; }

To su dva nacina za deklarisanje funckije.
Vrednsti (parametri ili argumenti) koje prosledjues funkciji moras prvo da smestis u promenljive pa da te promenljive prosledis funkciji.



offline
  • Pridružio: 10 Mar 2009
  • Poruke: 101
  • Gde živiš: Podgorica

Tvoja funkcija ce na ekranu da odstampa neki karakter tacno n puta.
Promenljive ch i n su argumenti i njih predajes prilikom poziva funkcije.
Probaj sledeci kod:

#include <stdio.h> #include <stdlib.h> void string(int n, char ch) {       while(n-- > 0)            printf("%c", ch); // Vise volim da koristim printf od putchar :) } int main() {     string(10, 'M');     return 0; }

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Hvala vam obojici, sada razumem, mogu se snaci u kodovima koje imam i knjizi. Ali, mozes li mi objasniti sta znaci i zasta sluzi ovo postfiksno dekrementiranje (x--)?

Hvala unapred! Very Happy

offline
  • Na odmoru xD
  • Na odmoru xD
  • Pridružio: 15 Feb 2012
  • Poruke: 430

Napisano: 02 Okt 2012 15:09

x = 10;
x--; //x je i dalje 10
x; //je sada 9

U gornjem primeru imas funkciju string koja ispisuje 10 slova M taj postfix operator umanji za 1 posto while petlja provrti printf funckiju i zato imas 10 m da je bilo -- pre npr --x ispisalo bi ti samo 9 slova M zato sto ga je odma umanjilo za 1.

Dopuna: 02 Okt 2012 15:12

To nebi imalo veze da funkcija koristi do{}while(); petlju
#include <stdio.h> void string(int n, char ch) {       do       {            printf("%c", ch); // Vise volim da koristim printf od putchar :)       }while(--n>0); // moze da bude i n-- isti je rezulat } int main() {     string(10, 'M');     return 0; }

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Hvala ti puno. Hvala svima. Ziveli Ziveli Ziveli

Ko je trenutno na forumu
 

Ukupno su 1050 korisnika na forumu :: 37 registrovanih, 4 sakrivenih i 1009 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Andrija357, anta, Apok, Battlehammer, bigfoot, Bobrock1, bojcistv, Brana01, ccoogg123, Denaya, DH, dozorni, Georgius, Konda, koom0001, Kriglord, kybonacci, Lazarus, loon123, lord sir giga, MB120mm, MilosKop, Nikolaa11, nuke92, Parker, raketaš, ruma, skvara, srbijaiznadsvega, Srky Boy, t.mile, trutcina, vathra, Vlada78, YugoSlav, šumar bk2, 79693