Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Visual c++ 6.0]durata variabili (sono un principiante)

    io ho questo codice:


    #include "stdafx.h"
    #include <iostream>


    int main(int argc, char* argv[])
    {
    int i[100];
    for(int j=0; j<=99; j++){
    int k;
    i[j] = j;
    }
    printf("%d ", j);
    for(;{
    }
    return 0;
    }

    qual'è il problema?..direte voi...Il problema è che FUNZIONA.
    Come mai il comando "printf("%d ", j);" viene eseguito correttamente?
    Come mai la variabile j continua ad esistere?
    io sapevo che le variabili dichiarate come "contatori" nei cicli for dovevano terminare alla fine del ciclo for, ma in questo caso non succede e continua ad esistere!
    Ho verificato che in un altro compilatore c++ la variabile sparisce (come è logico aspettarsi) alla fine del ciclo ma in visual c++ 6.0 no.

    Qualcuno sa dirmi come mai succede questo e se sono l'unico al mondo ad avere questo problema?

    Vi ringrazio in anticipo per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    In genere visualc++ non è considerato il miglior compilatore per c++

    è un errore del compilatore penso.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3

    Re: [Visual c++ 6.0]durata variabili (sono un principiante)

    Originariamente inviato da calldavid
    io ho questo codice:


    #include "stdafx.h"
    #include <iostream>


    int main(int argc, char* argv[])
    {
    int i[100];
    for(int j=0; j<=99; j++){
    int k;
    i[j] = j;
    }
    printf("%d ", j);
    for(;{
    }
    return 0;
    }

    qual'è il problema?..direte voi...Il problema è che FUNZIONA.
    Come mai il comando "printf("%d ", j);" viene eseguito correttamente?
    Come mai la variabile j continua ad esistere?
    io sapevo che le variabili dichiarate come "contatori" nei cicli for dovevano terminare alla fine del ciclo for, ma in questo caso non succede e continua ad esistere!
    Ho verificato che in un altro compilatore c++ la variabile sparisce (come è logico aspettarsi) alla fine del ciclo ma in visual c++ 6.0 no.

    Qualcuno sa dirmi come mai succede questo e se sono l'unico al mondo ad avere questo problema?

    Vi ringrazio in anticipo per l'aiuto.
    tralasciando il fatto che stdafx non è una libreria standard (usa <stdlib.h>) e iostream è antiquata e inutile in questo caso, a me Dev-C++ non mi lascia definire una variabile all interno del ciclo for, di solito è buona cosa definire le variabile tutte all inizio del programma, evitando (come la k che peraltro non è utilizzata) di definirle in mezzo alle stringhe.

    la cosa della variabile "contatore" che dovrebbe terminare non l ho mai sentita



    SwisströM

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    <iostream> è antiquata? e da quando?

    è <iostream.h> che è antiquata.

    Originariamente inviato da SwisströM
    di solito è buona cosa definire le variabile tutte all inizio del programma,
    Io trovo molto piu leggibile difinire le variabili là dove servono; non trovo molto bello dichiarare decine di variabili tutte all'inizio senza capire qual è la loro funzione; anche se alcuni standard del C (non ricordo quali) richeidevano questo requisito.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  5. #5
    Originariamente inviato da anx721
    <iostream> è antiquata? e da quando?

    è <iostream.h> che è antiquata.



    Io trovo molto piu leggibile difinire le variabili là dove servono; non trovo molto bello dichiarare decine di variabili tutte all'inizio senza capire qual è la loro funzione; anche se alcuni standard del C (non ricordo quali) richeidevano questo requisito.
    avevo letto iostream.h :|


    Per le variabili... boh dipende

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.