前提・実現したいこと
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 <stdio.h> 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<n;i++){ char line[50]; fgets(line,sizeof(line),stdin); sscanf(line,"%s %d",&s,&e); // printf("%s %d\n",s,e); if(e==3){ printf("%s\n",s); } } return 0; } ### 補足情報(同プログラムに期待する動作について) 入力対する出力 入力 出力 5 sankaku maru 1 hoshi sankaku 3 sikaku 2 gokakkei 2 hoshi 3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/30 06:06