Problema in C

di Anonimizzato8920 il
4 risposte
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

  • La variabile i non è inizializzata a zero.
  • Porco giuda ladro, basta una piccolezza e va tutto in mona. Grazie
  • Non manca anche il & ?

    --------------------------------------
    scanf ("%s", &frase);
    --------------------------------------
  • 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