Συντονιστής: konnn

char s1[SIZE]={'\0'}; 

migf1 έγραψε:Σας έγραψα κώδικα για σκέτο τον Vigenere, χωρίς να χρησιμοποιώ δομές, για να σας είναι πιο απλό να το παρακολουθήσετε. Πάλι όμως χρησιμοποιεί δείκτες και strings.
http://ideone.com/SvFRR
ΥΓ. Είμαι πολύ κουρασμένος τώρα για επεξηγήσεις, από αύριο πάλι

Star_Light έγραψε:migf1 μπορεις να δώσεις ένα παράδειγμα string pointer????
Αν εχω καταλαβει καλα απο ολα οσα εχω διαβασει γιατι σαν να ξανασκάλωσα (τα άτιμα πάντως μπορει να σε μπερδέψουνε για πλάκα έτσι? )
- Κώδικας: Επιλογή όλων
char s1[SIZE]={'\0'};
ας πούμε εδω το s1 ειναι ένα string δηλαδη ένας δείκτης στο 1ο στοιχείο αυτου του πίνακα χαρακτήρων.
Το περνάς σαν δείκτη σε char λοιπον μέσα στην συνάρτηση αλλα δεν μπορεις σε καμία περιπτωση να το αποκαλέσεις
δείκτη σε string γιατι τοτε θα επρεπε να ειναι διπλος?!


void swap( char s1[SIZE] , char s2[SIZE])
{
char tmp[SIZE];
int i;
if( !s1 && !s2)
return ;
while( s1[i] && s2[i] != '\0' )
{
tmp[i] = s1[i];
s1[i] = s2[i];
s2[i] = tmp[i];
i++;
}
printf("%s" , s1);
printf("%s" , s2);
return ;
}
if( !s1 && !s2)
return ; 
int s_swap( char **s1, char **s2 )
{
char *temp = NULL;
if ( !s1 || !s2 )
return 0; /* FALSE */
temp = *s1;
*s1 = *s2;
*s2 = temp;
return 1; /* TRUE */
}
int main( void )
{
char *s1 = "str1long";
char *s2 = "str2";
puts( s1 );
puts( s2 );
s_swap( (char **)&s1, (char **)&s2 );
puts( s1 );
puts( s2 );
return 0;
}


Name : Kwstas
Subname : Papagewrgopoulos
Πληκτρολογήστε 1 ή 2 για εκτύπωση σειράς Name -> Subname ή αντίστροφης σειράς Subname -> Name : 2
PapagewKwstas
rgopoulos
* END *
