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 723 korisnika na forumu :: 48 registrovanih, 4 sakrivenih i 671 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: _Sale, A.R.Chafee.Jr., aramis s, Buzdovan, ccoogg123, cemix, dankisha, Dannyboy, Dimitrise93, dmdr, draganca, dule10savic, Frunze, Griffon vulture, ivica976, Joja2, Karla, kikisp, ljuba, Luka Blažević, MaksicZoran, Maschinekalibar, mercedesamg, Metanoja, milenko crazy north, milutin134, Ne doznajem se u oružje, pera12345, Petarvu, pristinski korpus, Regrut Boskica, sasakrajina, Sir Budimir, slonic_tonic, sokars, solic, srbijaiznadsvega, Srle993, stalja, stegonosa, theNedjeljko, tmanda323, Tvrtko I, uruk, vukovi, YU-UKI, zillbg, 125