問題は、私が実際にポインターの配列を処理する方法がわからないことです。私が行う方法では、配列の位置にアドレスが渡されるため、常にすべての位置、最後の入力になります。しかし、* 演算子を使用すると、最初の文字のみが渡されます。
int main( void ) {
void prompt_str( const char *str[], char *const copy ); //prototype
const char *str[ 20 ]= { '\0' };
const char *copy= 0;
//prompt stringa
prompt_str( str, © );
} //end main
void prompt_str( const char *str[], char *const copy ) { //definition
size_t n_str= 0, i= 0;
do {
printf( "Insert a string\n:" );
fgets( copy, 100, stdin );
i= ( strlen( copy )- 1 ); //get length
copy[ i ]= '\0'; //remove \n
str[ n_str++ ]= copy; //put string into pointer of array
} while ( n_str< 3 );
}