Perchè non và questo banale esercizio sui puntatori?

di Anonimizzato8544 il
4 risposte
Questo è il codice:

#include <iostream>
using namespace std;
int main (int argc, char * const argv[]) {
	int *punt;
	std::cout<<"ciao questo programma acquisice una variabile con puntatore\n";
	cin>>*punt;
	cout<<"stampo il contenuto:\n"<<*punt;
	cout<<"stampo il suo indirizzo:\n"<<punt;
	cout << "stampo l'indirizzo di riferimento:\n"<<&punt;
    return 0;
}
/code]

4 Risposte

  • 
    int *punt;
    std::cout<<"ciao questo programma acquisice una variabile con puntatore\n";
    cin>>*punt;
    
    punt è un puntatore che punta a nulla. Tu stai inserendo dei dati con cin in una locazione di memoria ignota. Il programma dovrebbe andare in crash.
  • Eh quindi come dovrei risolvere non riesco a capire
  • 
    #include <iostream>
    using namespace std;
    int main (int argc, char * const argv[]) 
    {
    	int valore = 0;
    	int *punt = &valore;
    	
    	std::cout<<"ciao questo programma acquisice una variabile con puntatore\n";
    	cin>>*punt;
    	
    	cout<<"stampo il contenuto:\n"<<*punt << '\n';
    	cout<<"stampo il suo indirizzo:\n"<<punt << '\n';
    	cout << "stampo l'indirizzo di riferimento:\n"<<&punt << '\n';
    	return 0;
    }
    
  • Grazie!
Devi accedere o registrarti per scrivere nel forum
4 risposte