Typy danych w języku C


Funkcje

Wygląd funkcji:

typ_zwracanej_wartości nazwa (argumenty) {
	zmienne lokalne;
	instrukcje;
	return(wynik);
	}

Przykład wykorzystanie funkcji:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

float wczytaj(){
    int a,b;
    printf("Podaj a= ");
    scanf("%d",&a);
    printf("Podaj b= ");
    scanf("%d",&b);
    if (b!=0) return ((float)a/b);
    else return (puts("b musi byc rozne od zera"));
}

int main(int argc, char *argv[])
{
float w;
w=wczytaj(); //wywołanie funkcji
printf("%f", w); //wyświetlenie tego co otrzymaliśmy z funkcji
}

/*
w przykładzie wykorzystano rzutowanie umówione w poprzednich artykułach
*/

Przykład parametry i arumenty funkcji:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int a,b;
long w;

long licz(int dol, int gora){ /* 
        musi sie zgadzać liczba argumentów, kolejność i typ 
    */
    long suma=0;
    int i;
    if (gora>=dol) {      
        for(i=dol;i<=gora;i++)
            suma+=i;
            return(suma);
    }
    return(0);
}

int main(int argc, char *argv[])
{
printf("Podaj a= ");
scanf("%d",&a);
printf("Podaj b= ");
scanf("%d",&b);
w=licz(a,b); //wywołanie funkcji
printf("%d", w); //wyświetlenie tego co otrzymaliśmy z funkcji
}
/*
program oblicza sume liczb z wybranego przedziału
*/

funkcja która nic nie zwraca:

void wys(int n) {
	 if (n<0) return(0); // nie chcemy wyświetlać liczb ujemnych
	 printf("Liczba=%d\n",n);

funkcja zerowania tablicy:

void zeruj(int tab[], int n) {
	 int i;
	 for (i=0;i<n;i++) tab[i]=0;

Przykład silnia z wykorzystaniem funkcji:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int x;
long z;

long silnia(int n){
    if(n==1) return(1);
    else return(n*silnia(n-1));
}

int main(int argc, char *argv[])
{
printf("Podaj x= ");
scanf("%d",&x);
z=silnia(x); //wywołanie funkcji
printf("%d", z); //wyświetlenie tego co otrzymaliśmy z funkcji
}


www.piotrsog.prv.pl