#1
by ZEO » 4年前
今、atcorder regular contest 001 のA問題を解いていて次の文を書いたのですが
#include<stdio.h>
int main(){
int a,j,s,i;
int m=100;
int z=0;
char b[a];
scanf("%d",&a);
for(i=0;i<a;i++){
scanf("%s",&b);
}
for(i=1;i<5;i++){
s=0;
for(j=0;j<a;j++){
if(b[j]==i+48){
s+=1;
}
}
if(s>z)
z=s;
if(s<m)
m=s;
}
printf("%d %d",z,m);
return 0;
}
このプログラムをコンパイルすると次のエラーがでて対処法がわかりません
./Main.c:9:13: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[(sizetype)(a)]’ [-Wformat=]
9 | scanf("%s",&b);
| ~^ ~~
| | |
| | char (*)[(sizetype)(a)]
| char *
./Main.c:7:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
7 | scanf("%d",&a);
| ^~~~~~~~~~~~~~
./Main.c:9:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
9 | scanf("%s",&b);
どうしたらいいでしょうかよろしくお願いします。
今、atcorder regular contest 001 のA問題を解いていて次の文を書いたのですが
#include<stdio.h>
int main(){
int a,j,s,i;
int m=100;
int z=0;
char b[a];
scanf("%d",&a);
for(i=0;i<a;i++){
scanf("%s",&b);
}
for(i=1;i<5;i++){
s=0;
for(j=0;j<a;j++){
if(b[j]==i+48){
s+=1;
}
}
if(s>z)
z=s;
if(s<m)
m=s;
}
printf("%d %d",z,m);
return 0;
}
このプログラムをコンパイルすると次のエラーがでて対処法がわかりません
./Main.c:9:13: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[(sizetype)(a)]’ [-Wformat=]
9 | scanf("%s",&b);
| ~^ ~~
| | |
| | char (*)[(sizetype)(a)]
| char *
./Main.c:7:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
7 | scanf("%d",&a);
| ^~~~~~~~~~~~~~
./Main.c:9:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
9 | scanf("%s",&b);
どうしたらいいでしょうかよろしくお願いします。