Ε ναι, είναι από τους βασικούς λόγους ύπαρξης των συναρτήσεων η τιμή επιστροφή τους. Οπότε, για τις επόμενες ασκήσεις ας ξεκινήσουμε με συναρτήσεις
Συντονιστής: konnn

float sum2f( float, float);
float sum2f( float /*x*/, float /*y*/);float test( void );void test( void );
float sum2f(float x, float y)
{
return x+y;
}
#include <stdio.h>
// ------------------------------------------------------
float sum2f( float x, float y)
{
return x+y;
}
// ------------------------------------------------------
int main( void )
{
char inbuf[256]="";
float x, y;
printf("Enter two float numbers: ");
fgets(inbuf, 256, stdin);
sscanf(inbuf, "%f %f", &x, &y);
printf("Their sum is: %f\n", sum2f(x,y) );
return 0;
}
#include <stdio.h>
// function prototypes
float sum2f(float /*x/, float /*y*/);
// ------------------------------------------------------
int main( void )
{
char inbuf[256]="";
float x, y;
printf("Enter two float numbers: ");
fgets(inbuf, 256, stdin);
sscanf(inbuf, "%f %f", &x, &y);
printf("Their sum is: %f\n", sum2f(x,y) );
return 0;
}
// ------------------------------------------------------
float sum2f( float x, float y)
{
return x+y;
}


Star_Light έγραψε:οκ migf!!! Θα αραξουμε και εμεις με την ησυχια μας να τα κοιταξουμε και θα σου πουμε. Χαλαρα!!Καλη ξεκουραση.

y=f(x1,x2,x3) y=f(x1,x2,x3)=x1^2 + x2*x3 + 2*x2 ...... printf("Enter two float numbers: ");
fgets(inbuf, 256, stdin);
sscanf(inbuf, "%f %f", &x, &y);
extern char *fgets (char *__restrict__s , int n , FILE * __restrict__ stream) 
void put_line( void )
{
puts("------------------------------------------------------");
return;
}
float prod2f(float x, float y)
{
return x*y;
}
void calc( float x, float y, float *sum, float *prod)
{
*sum = x+y;
*prod = x*y;
return;
}
#include <stdio.h>
// ------------------------------------------------------
void calc( float x, float y, float *sum, float *prod)
{
*sum = x+y;
*prod = x*y;
return;
}
// ------------------------------------------------------
int main( void )
{
char inbuf[256]="";
float x, y, sum, prod;
printf("Enter two float numbers: ");
fgets(inbuf, 256, stdin);
sscanf(inbuf, "%f %f", &x, &y);
calc(x, y, &sum, &prod);
printf("Their sum is: %f\n", sum );
printf("Their product is: %f\n", prod );
return 0;
}

Star_Light έγραψε:
[snip]


migf1 έγραψε:
Πολύ ωραίος και σωστός ο παραλληλισμός με τα μαθηματικά! Ακριβώς έτσι είναι!
Για την fgets όμως, που είδες βρε συ να περνάμε float;

O migf1 έγραψε:
το οποίο αμέσως-αμέσως μας "λέει" πως η συνάρτηση περιμένει 2 ορίσματα τύπου float και επιστρέφει κάτι που είναι επίσης float. Από το όνομά της καταλαβαίνουμε πως αυτό που επιστρέφει θα είναι το άθροισμα των ορισμάτων, αλλά ποτέ δεν πρέπει να επαναπαυόμαστε στο όνομα μιας συνάρτησης και των ορισμάτων της για να υποθέσουμε τι περιμένει και τι επιστρέφει. Σε όλες τις βιβλιοθήκες οι συναρτήσεις έχουν σαφή τεκμηρίωση για το τι κάνουν (το ίδιο πρέπει να κάνουμε κι εμείς για τις δικές μας συναρτήσεις).
