Witam, mam pewien problem przy funkcjach wczytujących i drukujących liczby zespolone. Napisałem funkcję dla tablicy liczb zespolonych i tam wszystko działa jak należy, jednakże dla osobnych liczb (nie w tablicy) coś jest nie tak. Chodzi konkretnie o funkcje "wczyt_zwykly" i "druk_zwykly "Proszę o pomoc.

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

void wczyt1D(double complex z[],int n, char znak[]);
void druk1D(double complex z[],int n, char znak[]);
void minMaxComplex(double complex z[],int n,double complex wynikiComplex[]);
void sumDiff(double complex z1,double complex z2,int n,double complex wynikiComplex[]);
void wczyt_zwykly(double complex z);
void wczyt_zwykly(double complex z);



int main()
{

int n=3;
double complex z[n];
wczyt1D(z,n,"z");
druk1D(z,n,"z");

double _Complex z1;
double _Complex z2;

double wynikiComplex[2];
minMaxComplex(z,n,wynikiComplex);
wczyt_zwykly(z1);
//wczyt_zwykly(z2);
druk_zwykly(z1);
//druk_zwykly(z2);
//sumDiff(z1,z2,n,wynikiComplex);
//druk1D(wynikiComplex,2,"wyniki");




    getchar();
    return 0;
}

void wczyt1D(double complex z[],int n, char znak[])
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("\n Podaj liczbe %s[%d]: ",znak,i);
        scanf("%lf %lf",&(__real__ z[i]),&(__imag__ z[i]));
    }

}
void druk1D(double complex z[],int n, char znak[])
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("\n Liczba %s[%d]= %lf +j%lf",znak,i,creal(z[i]),cimag(z[i]));
    }
}
void wczyt_zwykly(double complex z)
{
    printf("\n Podaj liczbe zespolona:");
    scanf("%lf %lf",&(__real__ z),&(__imag__ z));

}
void druk_zwykly(double complex z)
{
    printf("\n Liczba zespolona wynosi: %lf +j%lf",creal(z),cimag(z));
}




void minMaxComplex(double complex z[],int n,double complex wynikiComplex[])
{
    int i;
    int ind1=0,ind2=0;
    double min,max,modul;
    min=max=cabs(z[0]);

    for(i=1;i<n;i++)
    {
        modul=cabs(z[i]);
        if(modul<min)
        {
            min=modul;
            ind1=i;
        }
        if(modul>max)
        {
            modul=max;
            ind2=i;
        }
    }
wynikiComplex[0]=z[ind1];
wynikiComplex[1]=z[ind2];
}
void sumDiff(double complex z1,double complex z2,int n,double complex wynikiComplex[])
{
    wynikiComplex[0]=carg(z1)+carg(z2);
    wynikiComplex[1]=carg(z1)-carg(z2);
}