User Tools

Site Tools


it:informatica:linguaggio_c:stringhe_1
Return to Home page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:informatica:linguaggio_c:stringhe_1 [2019/02/26 14:35] (current)
Line 1: Line 1:
 +====== Stringhe (Esempio 1) ======
 +**Concetti:​**\\
 +Stringhe e funzioni per la loro manipolazione (libreria //​string.h//​)
  
 +**Testo:​**\\
 +Si realizzi una programma che:
 +  * dichiari tre stringhe, ''​str1''​ e ''​str2''​ di dimensione N e ''​str3''​ la cui dimensione è ottenuta direttamente durante la sua inizializzazione.
 +  * stampi ''​str3''​
 +  * acquisisca una stringa in ''​str1''​
 +  * copi ''​str1''​ in ''​str2''​
 +  * stampi ''​str2''​
 +  * stampi la lunghezza di ''​str2''​
 +  * riduca la dimensione di ''​str2''​ scrivendo il carattere '​\0'​ al posto del quarto carattere di ''​str2''​
 +  * stampi la nuova stringa ''​str2''​ così ottenuta
 +  * compari il contenuto di ''​str1''​ e ''​str2''​ stampando se sono uguali o diverse
 +
 +**Soluzione:​**\\
 +<file C stringhe_1.c>​
 +/*
 +  Esempio di utilizzo delle stringhe
 +*/
 +
 +#include <​stdio.h>​
 +#include <​string.h>​
 +
 +#define N 20
 +
 +int main(){
 +  char str1[N], str2[N], str3[]="​abc";​
 +
 +  printf("​STR3 : %s\n", str3);
 +  ​
 +  /​*scanf("​%s",​ str1);*/ /* Legge una parola per volta */
 +  gets(str1); /* Legge l'​intera riga */
 +  printf("​STR1 : %s\n", str1);
 +
 +  strcpy(str2,​ str1); /* Copia il contenuto di str1 in str2 */
 +  printf("​STR2 : %s\n", str2);
 +  printf("​LEN ​ : %d\n", (int)strlen(str2));​ /* strlen restituisce la lunghezza di una stringa */
 +
 +  str2[3] = '​\0';​ /* Mettendo il carattere di fine stringa '​\0'​ nella posione 3 del vettore di caratteri dove è memorizzata la stringa si tronca la stringa alla posizione 2 (la stringa risultante sarà perciò formata da 3 caratteri) */
 +  printf("​STR2b:​ %s\n", str2 );
 +
 +  if (strcmp(str1,​ str2)==0){ /* La funzione strcmp restituisce 0 se le stringe sono uguali, un valore diverso da 0 se sono diverse (<0 se str1 è minore di str2, >0 se str1 è maggiore di str2 */ 
 +    printf("​str1 uguale a str2\n"​);​
 +  }else{
 +    printf("​str1 diversa da str2\n"​);​
 +  }
 +
 +  return 0;
 +}
 +</​file>​

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/it/informatica/linguaggio_c/stringhe_1?rev=1551188125&do=diff
/web/htdocs/www.skenz.it/home/data/pages/it/informatica/linguaggio_c/stringhe_1.txt · Last modified: 2019/02/26 14:35 (external edit)

Privacy Policy