次のコードは、配列(process
と呼ばれます)のプロセスから配列をパラメータとして別のプロセス(subprocess
)に渡します。私自身のコードで達成したい振る舞いをシミュレートします。subprocess
は文字列配列を正しい文字列で塗りつぶし、処理のためにprocess
に返します。パラメータで配列を渡した後の警告の削除(C言語)
#include <stdio.h>
#include <string.h>
void preprocess(char input[10][10]) {
int i;
char temp[10];
for (i = 0; i < 10; i++) {
scanf("%s", &temp);
strcpy(input[i], temp);
}
}
void process() {
int i;
char strings[10][10];
preprocess(strings);
for (i = 0; i < 10; i++) {
printf("%s\n", strings[i]);
}
}
int main() {
process();
return 0;
}
私の質問:このコードは警告を生成し、私はそれについて100%確信していません。誰かが私に警告を取り除き、ブービートラップのこのコードをクリアするのを助けることができますか?
EDIT:警告だった:
あなたが使用する必要がありますwarning: format '%s' expects argument of type 'char *', but argument 2 has type 'char (*)[10]'
警告は何ですか? –
@Paulそれはscanfによって期待される引数の型に関するものです - それはchar *でなくchar(*)[10]でなければなりません。また、正しい、正直な質問をdownvoting人々と地獄は何ですか? -_- – Chris
おそらくあなたの質問に警告が含まれていなかったので、あなたは何を持っているのか誰にも分かりません。 –