Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Nelle scanf delle due stringhe bisogna utilizzare l'operatore di indirizzo & per memorizzarle

    codice:
    printf("stringa 1:");
    codice:
    scanf("%s", &a);
    printf("stringa 2:");
    scanf("%s", &b);
    Ultima modifica di Eduadie; 16-04-2014 a 15:43

  2. #2
    Quote Originariamente inviata da Eduadie Visualizza il messaggio
    Nelle scanf delle due stringhe bisogna utilizzare l'operatore di indirizzo & per memorizzarle

    codice:
    printf("stringa 1:");
    codice:
    scanf("%s", &a);
    printf("stringa 2:");
    scanf("%s", &b);
    Purtroppo il problema si ripresenta nuovamente
    E se io volessi utilizzare la libreria <string.h>?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Esiste la funzione strcat molto più semplice come potrai capire

  4. #4
    ImmagineC.jpg questo è il problema. Si ripresenta anche mettendo la & nella scanf

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da Eduadie Visualizza il messaggio
    Nelle scanf delle due stringhe bisogna utilizzare l'operatore di indirizzo & per memorizzarle
    No.
    Il nome di un array è anche l'indirizzo del suo primo elemento. Pertanto è corretto scrivere scanf("%s", a);
    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
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    No.
    Il nome di un array è anche l'indirizzo del suo primo elemento. Pertanto è corretto scrivere scanf("%s", a);
    In realtà è più complicato. Il nome dell'array è di tipo array, ma in praticamente ogni contesto (tutto tranne che sizeof, & e poco altro) decade in un puntatore al primo elemento. &array restituisce un puntatore ad array, che ha lo stesso valore del puntatore al primo elemento, ma tipo diverso (concettualmente punta a tutto l'array, non al solo primo elemento), e in linea di principio non si può assegnare ad un semplice puntatore al tipo-base dell'array.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.