Problema con l'inserimento di una stringa di caratteri

di Anonimizzato19023 il
3 risposte
Ciao ragazzi , sto cercando di inserire in un array una stringa ,tramite un sottoprogramma, ma non appena inserisco la stringa e premo invio,l'inserimento non termina, cosa sto sbagliando ? Grazie in anticipo.

#include<stdio.h>
#include<string.h>
#define card 250

void legge(char campo[], int MAX){
char c;
int i=0;
while((c=getchar()!='\n')&&(i<MAX )){
campo=c;
i++;
}
campo='\0';
}
main()
{

int i;
char Vet[card];

printf("INSERISCI STRINGA\n");
for(i=0;i<card;i++){
legge(Vet,card);}
}

3 Risposte

  • Prima di tutto, hai sbagliato una parentesi nella riga della getchar, che deve essere

    while((c=getchar())!='\n' && (i<MAX )){

    e poi la for nel main non ha senso. Usa solo la chiamata alla funzione legge
  • Devi passare alla funzione legge anche l'iteratore i, e non dichiararlo internamente alla funzione, eliminando il while, oppure elimina il for fuori come dice oregon. Poi, se elimini il while, aggiungi l'if per vedere quando viene inserito \n e terminare.
  • Si adesso il programma va bene , grazie per l'aiuto !!
Devi accedere o registrarti per scrivere nel forum
3 risposte