C Yapıları Kullanarak bir fonksiyona yapıyı ileterek iki karmaşık sayı eklemek

Örnek: İki Karmaşık Sayı Ekleme

#include <stdio.h>
typedef struct complex
{
    float real;
    float imag;
} complex;
complex add(complex n1,complex n2);
int main()
{
    complex n1, n2, temp;
    printf("For 1st complex number \n");
    printf("Enter real and imaginary part respectively:\n");
    scanf("%f %f", &n1.real, &n1.imag);
    printf("\nFor 2nd complex number \n");
    printf("Enter real and imaginary part respectively:\n");
    scanf("%f %f", &n2.real, &n2.imag);
    temp = add(n1, n2);
    printf("Sum = %.1f + %.1fi", temp.real, temp.imag);
    return 0;
}
complex add(complex n1, complex n2)
{
      complex temp;
      temp.real = n1.real + n2.real;
      temp.imag = n1.imag + n2.imag;
      return(temp);
}

Çıktısı :

For 1st complex number
Enter real and imaginary part respectively: 2.3
4.5

For 2nd complex number
Enter real and imaginary part respectively: 3.4
5
Sum = 5.7 + 9.5i

Bu programda, n1 ve n2 yapıları, add () fonksiyonunun bir argümanı olarak iletilir.

Bu fonksiyon toplamı hesaplar ve temp yapı değişkenini main () fonksiyonuna döndürür.