Problema con primo programma che utilizza stringhe in C

di il
7 risposte

Problema con primo programma che utilizza stringhe in C

Ciao, mi sapreste dire cosa c'è di sbagliato in questo semplice codice? La console mi crasha subito dopo che viene inserito il nome...
#include <stdio.h>
#include "stdafx.h"

char nome[20];

int main()
{
	printf("Ciao, come ti chiami? \n\n");
	printf("Il mio nome e' ");
	scanf_s("%s", nome);
	printf("Ciao %s!", nome);

	scanf_s("%d");

    return 0;
}

7 Risposte

  • Re: Problema con primo programma che utilizza stringhe in C

    Questa linea deve essere

    scanf_s("%s", nome, 19);

    e l'ultima scanf_s va eliminata.
  • Re: Problema con primo programma che utilizza stringhe in C

    oregon ha scritto:


    Questa linea deve essere

    scanf_s("%s", nome, 19);

    e l'ultima scanf_s va eliminata.

    E perché?
  • Re: Problema con primo programma che utilizza stringhe in C

    Perché la scanf_s che tu usi ha la necessità di avere la dimensione massima dopo l'argomento.

    Addirittura nell'ultima (che non serve) non hai neanche associato la variabile in cui l'intero deve essere scritto.

    (per la prima scanf nel tuo caso puoi scrivere 20 e non 19)

    Quale compilatore usi?
  • Re: Problema con primo programma che utilizza stringhe in C

    oregon ha scritto:


    Perché la scanf_s che tu usi ha la necessità di avere la dimensione massima dopo l'argomento.

    Addirittura nell'ultima (che non serve) non hai neanche associato la variabile in cui l'intero deve essere scritto.

    (per la prima scanf nel tuo caso puoi scrivere 20 e non 19)

    Quale compilatore usi?
    Grazie per la risposta, uso Visual Studio e l'ultima scanf_s la metto alla fine di ogni programma sennò Visual Studio chiude prematuramente la console...
  • Re: Problema con primo programma che utilizza stringhe in C

    Mario Rossi ha scritto:


    uso Visual Studio
    Allora dovresti avere un bel po' di messaggi di avviso/errore quando viene compilato il tuo codice. Non li avevi letti?
    l'ultima scanf_s la metto alla fine di ogni programma sennò Visual Studio chiude prematuramente la console...
    A parte il fatto che è sbagliata perché manca la variabile, non è necessaria perché lo fa da solo Visual Studio se compili ed esegui con

    Ctrl-F5
  • Re: Problema con primo programma che utilizza stringhe in C

    oregon ha scritto:


    Questa linea deve essere

    scanf_s("%s", nome, 19);

    e l'ultima scanf_s va eliminata.
    Comunque non funziona nemmeno cosi :/
  • Re: Problema con primo programma che utilizza stringhe in C

    No non è possibile. Cosa hai scritto esattamente? Cosa fai?
Devi accedere o registrarti per scrivere nel forum
7 risposte