Dubbio su sintassi c++

di il
8 risposte

Dubbio su sintassi c++

In questo semplice programma che fa la somma tra due numeri c'è una cosa che non capisco: la variabile c che indica la somma tra a e b perchè deve essere dichiarata prima di stampare il valore della somma e non all'inizio del main oppure prima del main dove si dichiarano tutte le variabili?
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;

int a;
int b;
int c;

int main()
{


    cout<<"inserisci i due valori da sommare\n";
    cin>>a>>b;
    c= a+b;
    cout<<c;
    system("PAUSE");
    return 0;
}

8 Risposte

  • Re: Dubbio su sintassi c++

    Se posso darti un consiglio evita di utilizzare variabili globali, ma dichiarale dentro al main o alla funzione che le utilizza. Ti basta dichiararle semplicemente prima di doverle utilizzare. Ad esempio la variabile c potresti pure dichiararla direttamente quando fai la somma ( int c=a+b; )
  • Re: Dubbio su sintassi c++

    Ma riguardo a ciò che ho chiesto cosa puoi dirmi?
  • Re: Dubbio su sintassi c++

    Non fa differenza se la dichiari all'inizio del main o appena prima del suo utilizzo. L'unica cosa importante è che sia dichiarata prima di utilizzarla. Se non era questa la tua domanda non ho capito cosa tu intendessi prima
  • Re: Dubbio su sintassi c++

    C'e' stata un'evoluzione nella sintassi e nelle regole di scrittura del codice nel linguaggio C e C++.

    Per prima cosa, bisogna capire in QUALE linguaggio stai scrivendo il codice: anche se TU pensi di scriverlo in C, in realta' la scelta del linguaggio viene fatta in base a diversi fattori, uno dei quali e' l'ESTENSIONE del file:

    .c per il C
    .cpp, .cxx per il C++

    Capito questo, il fatto di poter dichiarare una variabile in qualunque punto del codice e non semplicemente subito dopo una graffa e' legato, tra le varie cose, anche all'evoluzione del compilatore ed a come le variabili vengono gestite mediante lo stack.

    Tanto per fare un esempio classico, in C (precedente al C99) non puoi scrivere:
    
    for(int i=0; i<n; i++){ ... }
    
    mentre lo puoi fare in C++.

    Per risolvere questi ed altri dubbi, comunque, non e' una cattiva idea consultare la documentazione ufficiale dei vari linguaggi: problemi del genere li avrai con tutti i linguaggi di programmazione con cui avrai a che fare (Java, C#, Python, Clojure, Scala, Swift, ...)
  • Re: Dubbio su sintassi c++

    Ok ho capito grazie
  • Re: Dubbio su sintassi c++

    Dove posso trovare una documentazione per le regole sintattiche del c++?
  • Re: Dubbio su sintassi c++

    olegfresi ha scritto:


    Dove posso trovare una documentazione per le regole sintattiche del c++?
    Puoi leggerti lo standard ISO oppure The C++ Programming Language, in entrambi troverei tutte le regole sintattiche di cui avrai bisogno
  • Re: Dubbio su sintassi c++

    Grazie
Devi accedere o registrarti per scrivere nel forum
8 risposte