View Full Version : [c]niente risultato
secondo voi con questo codice che dovrebbe uscire?
#include <stdio.h>
#include <conio.h>
main()
{
int a, b, c;
printf("inserisci il numero \n");
scanf("%d", &a);
printf("inserisci il numero \n");
scanf("%d", &b);
c=a+b;
printf("%dn", c);
getch();
}
wizard1993
16-10-2007, 21:21
la somma di a+b forse?
Codice coretto:
#include <stdio.h>
void main(){
int a, b, c;
printf("inserisci il numero \n");
scanf("%d", &a);
printf("inserisci il numero \n");
scanf("%d", &b);
c = a + b;
printf("%d\n", c);
getchar();
}
1. E' getchar(); e non getch();
2. conio.h in quetso caso non serve assoultamente a nulla, se non ad appesantire il sorgente.
3. E' preferibile dichiarare il main come void oppure int main(void);
teoricamente si, ma: compilo, e non ci sono errori... inserisco i primi 2 numeri, do invio, e la finestra dell'eseguibile si chiude
variabilepippo
16-10-2007, 21:59
E' preferibile dichiarare il main come void
Questa dove l'hai letta? :eek:
teoricamente si, ma: compilo, e non ci sono errori... inserisco i primi 2 numeri, do invio, e la finestra dell'eseguibile si chiude
Eseguilo da prompt, perchè funziona benissimo.
Questa dove l'hai letta? :eek:
void = valore nullo;
Il main non restituisce nessun tipo di valore se non lo stdout del programma.
variabilepippo
16-10-2007, 22:16
Il main non restituisce nessun tipo di valore se non lo stdout del programma.
Se fossi in te ripasserei lo standard ANSI C :):
5.1.2.2.1 Program startup
The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;
Per un piccolo approfondimento da un'occhiata all'articolo void main(void) - the Wrong Thing (http://users.aber.ac.uk/auj/voidmain.shtml).
Mi sa che il libro consigliato dal prof, è un pò bugato allora =|
Sorry per l'imprecisazione.
variabilepippo
16-10-2007, 22:35
Mi sa che il libro consigliato dal prof, è un pò bugato allore =|
Quale libro vi ha consigliato?
Sorry per l'imprecisazione.
Può capitare a chiunque... ;)
come faccio a farlo partire dal prompt?
variabilepippo
16-10-2007, 22:38
come faccio a farlo partire dal prompt?
Il programma o la compilazione dello stesso?
Nel primo caso basta digitare il nome dell'eseguibile nel Prompt del DOS (lo trovi tra gli accessori di Windows) dopo essersi posizionati nella cartella giusta e premere RETURN. In ogni caso quel programma non fa ciò che vorresti.
Nel secondo dipende dal compilatore C.
In ogni caso quel programma non fa ciò che vorresti.
Perchè?
Quale libro vi ha consigliato?
C Didattica è programmazione :(
variabilepippo
16-10-2007, 22:51
Perché?
Per come è definita la funzione getchar() nello standard ANSI/ISO. Dovresti pulire il buffer di ingresso con fflush(stdin) prima di richiamarla, però non è detto che tutti i compilatori lo svuotino effettivamente.
Per non complicarti la vita, visto che sei alle prime armi, ti conviene includere l'header <stdlib.h> e sostituire la getchar() con una system("PAUSE"). In seguito imparerai metodi più eleganti...
PS.
C Didattica è programmazione
Autore?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.