User Tools

Site Tools


it:informatica:linguaggio_c:stringhe_1
Return to Home page

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:

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;
}

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?do=
/web/htdocs/www.skenz.it/home/data/pages/it/informatica/linguaggio_c/stringhe_1.txt · Last modified: 2020/11/26 23:18 (external edit)