Perchè il TurboC non mi fa scrivere
char s[];
vuole per forza che gli scriva la dimensione della stringa![]()
Grazie
Ciao![]()
Perchè il TurboC non mi fa scrivere
char s[];
vuole per forza che gli scriva la dimensione della stringa![]()
Grazie
Ciao![]()
è pur sempre un array (di caratteri) no?
e che non gli dici quanto deve essere grosso?![]()
ahi, ahi
non e' questa una domanda da farsi
![]()
Cosa dice l'ANSI C (fra le innumerevoli cose) riguardo gli array?
Che la loro dimensione deve sempre essere rappresentata da un numero
*costante*. Se non metti il numero, equivale a dire che l'array non
ha indice costante, il che significa un bell'errore di compilazione.
ah l'amour... :quipy:
bye
There are 10 kinds of people in the world: who knows the binary numeration and who not
Le risposte che hai avuto fino ad ora non erano corrette.
Il C è un linguaggio di basso livello.
L'array di caratteri è un puntatore a carattere:
char mystring[]; equivale a char *mystring;
quindi se scrivi una cosa del genere il compilatore non alloca spazio
per la tua stringa.
ti consiglio di scrivere
char mystring[]="ciao";
dovrebbe funzionare oppure puoi fare anche:
#define MAX_SIZE 50
char mystring[MAX_SIZE]="ciao"; /*attenzione all BufferOverflow*/
prova anche con
char [mySstring]MAX_SIZE; //dovrebbe funzionare perche l'aritmetica dei puntatori è commutativa.bye![]()
Così mystring occupa 5 byte, e come vedi la dimensione della stringa è definita.Originariamente inviato da RmiMik
char mystring[]="ciao";
dovrebbe funzionare oppure puoi fare anche:
Come dice TheGreatWorld:
Originariamente inviato da TheGreatWorld
Cosa dice l'ANSI C (fra le innumerevoli cose) riguardo gli array?
Che la loro dimensione deve sempre essere rappresentata da un numero *costante*.
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
stai attento che le stringhe C hanno un altro carattere in piu: il terminatore!
Grazie ragazzi. Ho capito.
Mi potreste spiegare questo comando a che serve e come si cerca in un'array una determinata riga(in una stringa anche). Scusate le domande ma ancora non ho comprato un libro di testo, cosa che farò molto presto.![]()
Grazie
Ciao![]()
Puoi usare la ricerca sequenziale su una stringa:Originariamente inviato da AR64S-H
Grazie ragazzi. Ho capito.
Mi potreste spiegare questo comando a che serve e come si cerca in un'array una determinata riga(in una stringa anche).
Carattere trovato alla posizione: 4 --> che poi nel vettore in realtà sarebbe nella posizione s[3] perchè in C si parte da s[0],s[1],..,....codice:#include <stdio.h> int main(){ char s[]="Il cielo oggi è verde!"; int i=0; while ((s[i] != 'c') && (s[i] != '\0')) i++; if (i == (sizeof(s)-1)) printf("Il carattere non è stato trovato!"); else printf("Carattere trovato alla posizione: %d",++i); return(0); }
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
Io intendo se faccio leggere un file che contiene i nomi di una rubrica da una stringa e voglio ricercare il cognome rossi e visualizzare tutte le righe con il nome rossi come devo fare?
Grazie
Ciao![]()