Pagina 1 di 1

ANCORA C

MessaggioInviato: 5 feb 2009, 21:50
da bob93
Quando compilo questo programma mi da sempre risultato ok
anche se la x vale 4 comunque mi esce "ok".....chi mi sa dire dove ho sbagliato????

#include<stdio.h>
#include<conio.h>



int x;

int main()
{

x=3


if(x=3)
printf("OK");
else
printf("NO");





getch()
return 0

}

Re: ANCORA C

MessaggioInviato: 5 feb 2009, 21:55
da Wed_17
ciao,
intanto ti consiglio di dichiarare la variabile x all'interno del main che è meglio. Poi manca un ; dopo x=3, la condizione dell'if non è corretta, un singolo = indica l'assegnazione, mentre il doppio uguale == indica l'uguaglianza, quindi:
#include<stdio.h>
#include<conio.h>

int main()
{ int x;
x=3;
if(x==3)
printf("OK");
else
printf("Non OK");

return EXIT_SUCCESS;
}
ovviamente indentando :D

Re: ANCORA C

MessaggioInviato: 5 feb 2009, 22:04
da bob93
ok....funziona grazie mille...comunque mi potresti spiegare perché le veriabili è meglio dichiararle nel main...??

Re: ANCORA C

MessaggioInviato: 5 feb 2009, 22:21
da Wed_17
non sono esperto in c, comunque il primo motivo è per la compattezza del programma, e per la dispersione che esser creano. Non so se hai già studiato le funzioni in C, è sempre meglio per ciascuna funzione utilizzare le proprie variaibli, variaibli locali quindi. Inoltre se utilizzi delle variabili globali nelle funzioni, e se vuoi riutilizzare queste funzioni per altri programmi devi sempre tenere in considerazione queste variaibli globali, quindi in un certo senso le funzioni dipendono dalle varibili globali. Inoltre ti consiglio fin dai primi programmi di suddividerli in sottoproblemi indipendenti, e ciascuna funzione deve indipendentmenete svolgere il proprio piccolo problema (le variaibli globali spezzano appunto questa indipendenza). Se inizi dai programmi più semplici a suddividere, quando dovrai afforntare grossi programmi, la scomposizione ti aiuterà molto.

Re: ANCORA C

MessaggioInviato: 5 feb 2009, 22:23
da bob93
ok...grazie del consiglio.....