Domanda:
urgente .... stringhe in c?
Silver
2009-04-23 02:58:37 UTC
ho una stringa variabile tipo char= nome[]
dopo averla scanfata esempio le faccio assumere il valore "ciao" che pou essere qualunque.....
come faccio a sapere la lughezza di nome[]
che in questo caso e 5???
esiste una roba del tipo nome[max]??
Quattro risposte:
Tizio 008
2009-04-23 03:17:13 UTC
le "stringhe" in C sono (o meglio: dovrebbero esserlo!) terminate da uno 0 (byte); dunque basta contare quanti caratteri ci sono dall'inizio fino allo '\0'. la strlen fa proprio questo.

considera comunque che

char nome[];

non alloca lo spazio per nome... dunque "scanfando" "dentro" questa variabile vai a scrivere memoria "a caso"...



#define MAX 100

char nome[MAX];



definisce un simbolo (MAX) che indica quanto lungo al massimo può essere l'input preso con la scanf;



int l = strlen(nome);

ti darà la lunghezza della stringa effettivamente inserita.
?
2009-04-23 10:18:20 UTC
usa la strlen
?
2009-04-23 10:06:58 UTC
usa la strlen( puntatore alla stringa )



è una funzione inclusa nella libreria string.h
Paolo
2009-04-23 10:03:48 UTC
allora per fare così

dove c'è

#include

#define N 5



main(){

char nome[N]



spero di esserti stato utile!!


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...