Problema in C

di il
4 risposte

Problema in C

Salve, avrei un problema...

vi scrivo il codice del programma.
#include <stdio.h>
#include <stdlib.h>

main()
{
char frase[80];
int i ;

printf ("Dammi una parola:");
scanf ("%s", frase);

printf ("La parola che hai scritto originale e':\n%s", frase);

while (frase[i] != '\0')
{
    if (islower(frase[i]))
    {
      frase[i] = toupper(frase[i]);
    }
    ++i;
}
printf ("La parola trasformata in maiuscolo e':\n%s", frase);
return 0;
}
e il programma non funziona.
Dove ho sbagliato ?
Il programma si blocca e mi cucco una finestra di errore di windows.

4 Risposte

  • Re: Problema in C

    La variabile i non è inizializzata a zero.
  • Re: Problema in C

    Porco giuda ladro, basta una piccolezza e va tutto in mona. Grazie
  • Re: Problema in C

    Non manca anche il & ?

    --------------------------------------
    scanf ("%s", &frase);
    --------------------------------------
  • Re: Problema in C

    Credo sia sbagliato scrivere
    scanf ("%s", &frase);
    perché il parametro di una funzione scanf deve essere un indirizzo di memoria (e per questo, quando ci si vuole riferire ad una variabile, si premette &), ma il nome di un array è già un indirizzo di memoria (equivale esattamente ad un puntatore).
Devi accedere o registrarti per scrivere nel forum
4 risposte