nel c non esiste un dato primario di tipo stringa; queste sono rappresentate con un array...
TRANSCRIPT
Nel C non esiste un dato primario di tipo stringa; queste sono rappresentate con un array monodimensionale di caratteri (tipo
char). Così per definire una stringa formata da non più di quindici caratteri si deve effettuare
la seguente dichiarazione: char nome[16];
come si vede è stato necessario riservare 16 posti di tipo char e non 15, perché una stringa deve sempre terminare in C col
carattere terminatore nul (in C tale carattere può essere anche indicato con \0).
Per introdurre stringhe da tastiera nel C sono utilizzate due funzioni facenti parte della libreria propria del linguaggio: scanf() e gets(). Con queste funzioni il carattere terminatore viene automaticamente posizionato al termine della stringa; tuttavia nella dichiarazione esso deve essere preso in considerazione come se fosse un elemento della stringa.
Osservazioni:· Nella funzione strcpy() nella dichiarazione di string1 questa deve essere almeno lunga come string2.· Nella funzione strcat() nella dichiarazione di string1 quest'ultima deve essere lunga in modo da poter contenere anche string2.
#include "stdio.h"#include <stdlib.h>
main() {
char string1[21], string2[11];
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 20 CARATTERI ");
gets(string1);
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 10 CARATTERI ");
gets(string2);
printf("\n LE STRINGHE INTRODOTTE SONO :\n %s \n %s\n",string1,string2);
system("pause");
} /*fine main()*/
#include "stdio.h"#include <stdlib.h>
main() {
char string1[21], string2[11];
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 20 CARATTERI ");
scanf ("%s",string1);
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 10 CARATTERI ");
scanf ("%s",string2);
printf("\n LE STRINGHE INTRODOTTE SONO :\n %s \n %s\n",string1,string2);
system("pause");
} /*fine main()*/
#include "stdio.h"#include <stdlib.h>#include <string.h>
/* Lunghezza di una Stringa */
main() {
char string1[21];
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 20 CARATTERI ");
scanf ("%s",string1); printf("\n LA STRINGA INTRODOTTEA E' LUNGA :\n %lu ",strlen(string1));
system("pause");
} /*fine main()*/
#include "stdio.h"#include <stdlib.h>#include <string.h>/* Confronto tra stringhe */main() {
char string1[21], string2[11];
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 20 CARATTERI ");
gets(string1);
printf("INTRODUCI UNA STRINGA DI LUNG. MAX. 10 CARATTERI ");
gets(string2); if (strcmp(string1,string2)==0) printf("Le stringhe sono uguali"); else printf("Le stringhe non sono uguali");
system("pause");
} /*fine main()*/
/* File: occorrenze.c *//* Legge una stringa ed un carattere, e stampa il numero di occorrenze del carattere nella stringa.*/#include <stdio.h>#define DIM 80#include <stdlib.h>
int main() { char testo[DIM]; char carattere; int occorrenze; int i; /* leggi stringa */ printf("Inserisci una stringa:\n"); scanf("%s", testo); getchar(); /* legge il carattere */ printf("Inserisci un carattere:\n"); scanf("%c", &carattere); occorrenze = 0; /* legge tutti i caratteri della stringa. Se il carattere i-esimo corrisponde al carattere letto allora la variabile 'occorrenze' viene incrementata di uno */ for (i = 0; testo[i] != '\0'; i++) { if (testo[i] == carattere) occorrenze++; } printf("Il numero di occorrenze del carattere %c nella stringa e' %d\n", carattere, occorrenze); system("pause");}
#include <stdio.h> #include <string.h> #include <stdlib.h>
main() { char s[100]; int i, flag; i = 0; printf("Inserisci la stringa "); scanf ("%s", s); flag = 1; while ((i < (strlen(s)/2)) && (flag == 1)) { if (s[i] != s[strlen(s)-i-1]) { flag = 0; } i++; } if (flag == 1) { printf ("La parola e' palindroma.\n"); } else { printf ("La parola non e' palindroma.\n"); } system("pause");}