Buonasera,
sto cercando di fare un programma che, letta una stringa da tastiera, stampi la posizione nell'array del carattere terminatore '\0'.
Il mio problema è che cosi' risolvo l'esercizio:
mentre in questo modo, che io riterrei equivalente al primo, non funziona (la posizione viene errata):codice:#include<stdio.h> main() {char string[20]; int i; for(i=0;i<20;i++) string[i]=' '; printf("inserire stringa"); scanf("%s",string); for(i=0;i<20;i++) {if(string[i]=='\0') printf("La posizione del terminatore è %d\n",i);} printf("%s",string); getch();}
Come mai si verifica questa cosa?codice:#include<stdio.h> main() {char string[20]; int i,cont; printf("inserire stringa: "); scanf("%s",string); cont=0; for(i=0;i<20;i++) {if(string[i]!='\0') cont++;} printf("La posizione del terminatore è %d\n",cont); printf("%s",string); getch();}
Grazie , ciao!!!

Rispondi quotando

