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:
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();}
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,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();}
Come mai si verifica questa cosa?
Grazie , ciao!!!