Visualizzazione dei risultati da 1 a 6 su 6

Discussione: aiuto puntatori in C

  1. #1

    aiuto puntatori in C

    Ciao ragazzi,sto studiando i puntatori in C. Ho dichiarato il puntatore e ho assegnato un valore al puntatore, ma il compilatore mi da errore alla riga a=&n; aiutatemi, per favore.Grazie.
    Io ho scritto:
    codice:
    int *a;
    int n=4;
    int *a;
    a=&n;
    printf("Il numero è %i\n" *a);
    Riporto il log di compilazione:

    codice:
    Compilatore: Default compiler
    Esecuzione di  gcc.exe...
    gcc.exe "C:\Documents and Settings\Home\Desktop\puntatore.c" -o "nul"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" 
    C:\Documents and Settings\Home\Desktop\puntatore.c:4: error: conflicting types for 'a'
    C:\Documents and Settings\Home\Desktop\puntatore.c:3: error: previous declaration of 'a' was here
    C:\Documents and Settings\Home\Desktop\puntatore.c:4: warning: initialization makes integer from pointer without a cast
    C:\Documents and Settings\Home\Desktop\puntatore.c:4: warning: data definition has no type or storage class
    C:\Documents and Settings\Home\Desktop\puntatore.c:5: error: syntax error before string constant
    C:\Documents and Settings\Home\Desktop\puntatore.c:5: warning: conflicting types for built-in function 'printf'
    C:\Documents and Settings\Home\Desktop\puntatore.c:5: warning: data definition has no type or storage class
    
    Esecuzione terminata

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    L'errore è abbastanza chiaro, hai dichiarato due volte la variabile a...
    E manca la virgola tra i parametri della printf().

    Poi, quel codice è dentro una funzione main? Ci sono tutti i necessari include?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3

    Moderazione

    Il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.

    Ora correggo io; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Ciao Alex, grazie. Ho corretto, compilato ed eseguito il codice e ora funziona. Solo un'altra domanda per favore:l'eseguibile visualizza "il numero þ 4" anzichè "il numero è 4". Come mai mi da quel simbolo, "þ", non dovrebbe scrivere "è" al suo posto? Il codice è:

    codice:
    #include <stdio.h> 
    int main() 
    {  int *a; 
    int n=4;
    a=&n;
    printf("Il numero è %i\n", *a); 
    getchar(); 
    return 0; 
    }

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non scrivere direttamente i caratteri accentati se la console non li supporta, usa e\', a\', ecc.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    mitico, grazie.

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.