|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 28
|
[C] utilizzo sscanf
Ciao a tutti, ho trovato questo esercizio, in cui viene letto un carattere dalla linea di comando e viene stabilito se si tratti di un numero reale o meno; la verifica della condizione è la parte che ho evidenziato... ma in che modo viene stabilito?? Grazie in anticipo
#include <stdio.h> #include <stdlib.h> int main (int argc, char *argv[]) { double a; if(argc != 2) { fprintf (stderr,"errore: inserire un parametro\n"); exit (1); } if (sscanf(argv[1],"%lf",&a) != 1) { printf ("Il parametro fornito (%s) non e' un numero reale\n", argv[1]); } else { printf ("Il parametro fornito (%lf) e' un numero reale\n", a); } return 0; |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Lo stabilisce perché la sscanf restituisce il numero di campi correttamente acquisiti (in questo caso 1, dato che c'è un solo campo).
Il codice si "fida" della sscanf che esegue il parsing del valore in input. Ovviamente, ad esempio, anche un valore come 5 è un valore valido ... |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 28
|
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 28
|
Avrei potuto utilizzare per esempio isdigit ??? copiare il carattere in una stringa e successivamente valutarlo ? sarebbe stato corretto?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:39.




















