-hide-
18-01-2010, 20:25
Sono in prossimità di un esame e dunque mi cimento nella visione di alcuni compiti svolti. In uno di questi si richiede di scrivere un programmino C che moltiplichi e dividi due interi presi come parametri (da terminale, ovviamente!).
Questo è il codice del main:
#include <stdio.h>
#include "moltiplica.h"
#include "dividi.h"
int main ( int argn, char* argv[]) {
printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
return;
}
Ho delle domande a riguardo di queste righe:
int main ( int argn, char* argv[])
Utilizzando il programma da terminale ovviamente questa specificazione è necessaria.
Io, però, non ricordo perfettamente come si passano i parametri ad un file C o più che altro mi spiazza il primo parametro "int argn". Cosa prende quest'ultimo visto che all'interno delle funzioni passo due elementi dell'array argv.
Inoltre perché passo gli elementi dell'array argv che è un puntatore di tipo char se mi richiede due
printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
Che è atoi?
Perché i prototipi delle funzioni si trovano in due file header separati dalle loro definizioni, che sono in .c (al momento mi ritrovo 4 file).
Se avete link o risorse utili al mio scopo vi prego di fornirmene.
Questo è il codice del main:
#include <stdio.h>
#include "moltiplica.h"
#include "dividi.h"
int main ( int argn, char* argv[]) {
printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
return;
}
Ho delle domande a riguardo di queste righe:
int main ( int argn, char* argv[])
Utilizzando il programma da terminale ovviamente questa specificazione è necessaria.
Io, però, non ricordo perfettamente come si passano i parametri ad un file C o più che altro mi spiazza il primo parametro "int argn". Cosa prende quest'ultimo visto che all'interno delle funzioni passo due elementi dell'array argv.
Inoltre perché passo gli elementi dell'array argv che è un puntatore di tipo char se mi richiede due
printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
Che è atoi?
Perché i prototipi delle funzioni si trovano in due file header separati dalle loro definizioni, che sono in .c (al momento mi ritrovo 4 file).
Se avete link o risorse utili al mio scopo vi prego di fornirmene.