Piojolopez2406
08-02-2007, 16:39
ragazzi ho da fare un esercizio ke mi dica la parola più lunga e l'indice corrispondente nel array...
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
void funzionestringa(char stringa[]);
void main()
{
char STRINGA[]="Oggi sono andato a giocare e poi a fare una passeggiata";
printf("%s",STRINGA);
funzionestringa(STRINGA);
}
void funzionestringa(char stringa[])
{
int i,max,conta,indice_max;
i=0;
conta=0;
max=0;
while(stringa[i]!='\0')
{
while(stringa[i]!=' ')
{
conta=i;//memorizzo l'indice delle parole
i++;
}
if(conta>max)
{
max=conta;
indice_max=i;
}
i++;
}
printf("\nmax:%d, indice_max:%d ",max,indice_max);
}
-----lasiciamo perdere un attimo il risultato reale ke mi deve uscire....il problema è che a quanto ho notato facendo un aattento debug....il while ke mi dovrebbe controllare la fine della stringa (while(stringa[i]!='\0')), in realtà non me lo fa ma va in overflow....come mai???
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
void funzionestringa(char stringa[]);
void main()
{
char STRINGA[]="Oggi sono andato a giocare e poi a fare una passeggiata";
printf("%s",STRINGA);
funzionestringa(STRINGA);
}
void funzionestringa(char stringa[])
{
int i,max,conta,indice_max;
i=0;
conta=0;
max=0;
while(stringa[i]!='\0')
{
while(stringa[i]!=' ')
{
conta=i;//memorizzo l'indice delle parole
i++;
}
if(conta>max)
{
max=conta;
indice_max=i;
}
i++;
}
printf("\nmax:%d, indice_max:%d ",max,indice_max);
}
-----lasiciamo perdere un attimo il risultato reale ke mi deve uscire....il problema è che a quanto ho notato facendo un aattento debug....il while ke mi dovrebbe controllare la fine della stringa (while(stringa[i]!='\0')), in realtà non me lo fa ma va in overflow....come mai???