私はポインタを使ってメインで使用できるように、2つのスキャン文字列を返す正しい構文を見つけようとしています。ポインタを使って2つのユーザ入力文字列をメインに戻す
void get_user_info(char* user_string_one[20] , char* user_string_two[20]) {
char string_one[20] = "";
char string_two[20] = "";
string_one = "hello";
string_two = "goodbye";
*user_string_one = string_one;
*user_string_two = string_two;
return;
}
int main(void) {
char user_string_one[20] = "";
char user_string_two[20] = "";
get_user_info(user_string_one[20], user_string_two[20]);
printf("%s %s\n", user_string_one, user_string_two);
return 0;
}
私は本当に簡単な間違いをしていると確信しています。私はそれを理解できないようです。配列は引数として関数に渡された場合
あなたが上にあるものはまったくまったく正しいものではなく、あなたは本当にCを学ぶ必要があります。 –
これは文字列の初期化方法ではありません。 –
まず、文字列に 'string_one =" hello ";'を指定することはできません。 'string_one'は配列です。定義されているとき( 'char string_one [20] =" hello ";')、 'strcpy'を使って正しい初期化をしなければなりません。 –