質問: C言語で、 ・1 行目に与えられる文字列及び数値の個数 n を標準入力で与え、 2 行目から 2 + n 行目に文字列 S と数値 e が与えた上で、(例)sankaku 3 数値が e==3 の文字列だけを出力するプログラムを実行中、正確に出力されたものの、エラーメッセージが出力されてしまいました。 メッセージを読むと、char * でなければならないところを、char (*)[length]でにしてしまっていると読めますが、 解決方法が分かりません。 ご教授頂けるとありがたいです。 宜しくお願いします。 発生している問題・エラーメッセージ ----------------- ``` エラーメッセージ format specifies type 'char *' but the argument has type 'char (*)[length]' -wformat ソースコード ------ `#include int main(void){ int n,e; int length=80; char s[length]; char str[1000]; fgets(str, sizeof(str), stdin); sscanf(str,"%d\n",&n); //printf("%d",n); for(int i=0;i
回答: `&s`じゃなくて`s`と書けば良いかと思います。