Newsgroup: it.comp.lang.c
Titolo: inserimento array a funzione

/*salve a tutti sono un principiante (mooolto principiante)*/
/*dilettante(mooolto dilettante) autodidatta e ho un*/
/*problema nel trasferire [array] di variabili alle*/
/*funzioni;di seguito ho postato il "listato"(listatino)*/
/*e il mess. di errore del compilatore e se qualcuno potesse*/
/*darmi qualche piccola dritta gliene sarò molto grato*/
/*P.S. la funzione chiamata 'confstr()'serve a confrontare */
/*due stringhe char in questo caso immesse da tastiera*/
#include"/Program Files/Miracle C/include/stdio.h"
main()
{
char stringa[10],stringb[10];
printf("\ninserire stringa:");
gets(stringa);
printf("\ninserire stringb:");
gets(stringb);
if (confstr(stringa,stringb)) printf("\nSTRINGHE INDENTICHE");
else printf("\nSTRINGHE DIFFERENTI");
}
confstr(char a[],char b[])
{
int lenght,time;
if (strlen(a)>strlen(b)) lenght=strlen(a);
else lenght=strlen(b);
for(time=0;time!=lenght;time++)
  {
  if((int)a[time]-(int)b[time])
   return(0);
  }
return(1);
}
/*Miracle C Compiler (r3.1), written by bts.*/
/*Compiling c:\documenti\confstr.c*/
/*main*/
/*c:\documenti\confstr: 43,44: bad type in function confstr*/
/*'confstr(char a[],char b[]) { int t,time'*/
/*aborting compile, too many errors*/

 wrote in message
7OWz6.8000$k53.1...@news1.tin.it...


confstr(char a[],char b[])
dichiara confstr() in questo modo :
  int confstr(char*a,char *b) ;	
ciao

ByZ-2K
/*Ciao e grazie per l'attenzione, ma perchè nella dichiarazione devo mettere
dei*/
/*puntatori?*/
/*cordialmente sml*/

ciao
/*Grazie per l'attenzione e la risposta ma come mai tutti i manuali che ho
visto*/
/*dichiarano alle funzioni gli array senza *(indirezione?) bensì con
parentesi*/
/*quadre come avevo fatto io?*/
/*in ogni caso grazie mille anche a te*/

}
/*ma non funziona ,ecco il mess di errore:*//*aiuto*/
c:\documenti\confstr: 43,44: bad type in function confstr
'confstr(char *a,char *b) { int lenght,time'
aborting compile, too many errors

  int confstr(char*a,char *b) ;
/*anche in quel caso ecco il mess di errore che stampa il compilatore*/


aborting compile, too many errors
mi sembra che 'time' sia una struttura della libreria standard. Sicuro
che non sia quello l'errore ? 
Prova a rinominare le variabili ............
ciao

   int confstr(char*a,char *b) ;
E' la stessa cosa. In entrambi i casi i parametri sono di tipo char *.
EMG

ciao
/*ho rinominato 'time' con't' ma ci sono sempre problemi*/
/*non potrebbe essere colpa del compilatore?*/
/*ecco il listato e il mess di errore*//*grazie per la cordiale attenzione*/
/***************************************************************************
****/
#include"/Program Files/Miracle C/include/stdio.h"
main()
{
char stringa[10],stringb[10];
printf("\ninserire stringa:");
gets(stringa);
printf("\ninserire stringb:");
gets(stringb);
if (confstr(stringa,stringb)) printf("\nSTRINGHE INDENTICHE");
else printf("\nSTRINGHE DIFFERENTI");
}
confstr(char *a,char *b)
{
int t;
if (strlen(a)!=strlen(b)) return(0);
for(t=0;t!=strlen(a);t++)
  {
  if((int)a[t]-(int)b[t])
   return(0);
  }
return(1);
}
/*************************************************/
Miracle C Compiler (r3.1), written by bts.
Compiling c:\documenti\confstrings.c
main
c:\documenti\confstrings: 43,44: bad type in function confstr
'confstr(char *a,char *b) { int t'



/*se nella funzione main() ho un 'char array[n]'e lo voglio passare per
valore*/
/*alla funzione ascii(...?...)cosa devo mettere nella dichiarazione?*/
/*ho provato varie sintassi ma mi segnala sempre un errore*/
/*grazie per la cordiale attenzione*/
#include"/Program Files/Miracle C/include/stdio.h"
main()
{
char stringa[50];
gets(stringa);
ascii(stringa);
}
/**********************************************/
void ascii(char*a)
{
for(t=0;t<strlen(a);t++)
   {
   printf("\%d",a[t]);
   }
}
C:\Documenti\ascii: 38,40: bad type in function ascii
'void ascii(char*a) { for(t=0'
aborting compile, too many errors
/***********************************************/
void ascii(char a[])
{
for(t=0;t<strlen(a);t++)
   {
   printf("\%d",a[t]);
   }
}
C:\Documenti\ascii: 38,40: bad type in function ascii
'void ascii(char a[]) { for(t=0'


 }
Hai dimenticato di dichiarare t.
EMG

EMG
/*Ciao e grazie*/

 alla funzione?*/
Esempio:
struct Pippo
{
    char Nome[ 35 ];
};
void Peppe( struct Pippo p )
{
    /* Qui l'array Nome č passato per valore assieme alla struct */
}
int main()
{
    struct Pippo p;
    Peppe( p );
    return 0;
}
EMG

 ha scritto nel messaggio
news:ZWWz6.5585$r67.1...@news2.tin.it...
