warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&f);

这个是C语言当中常见的错误,意思是

     对于输入的scanf参数的内容,没有进行类型判断,所以才会产生这个问题.

解决方法:

     1、添加if判断方式

1 if(scanf("%d",&a)==1){
2     // 成功继续执行其他代码
3  }
View Code

    2、其它类型判断方式扩展

 1 if(scanf("%d",&a)==1){
 2     // 成功继续执行其他代码
 3 }
 4 
 5 if(scanf("%f",&a)==1){
 6     // 成功继续执行其他代码
 7 }
 8 
 9 if(scanf("%s",&a)==1){
10     // 成功继续执行其他代码
11 }
View Code

    3、参数个数扩展

1 scanf("%d",&a);正确输入则返回1;
2 scanf("%d%d",&a,&b);正确输入,则返回2,以此类推;
View Code

即:如果输入一个参数,就判断结果是否==1,如果输入两个参数就判断是否==2,如果输入三个参数就判断==3,以此类推

1 if(scanf(“%d %d",&a,&b)==2){
2    // 功能代码
3 }
4 
5 if(scanf(“%d %d %d",&a,&b,&c)==3){
6    // 功能代码
7 }
View Code

猜你喜欢

转载自www.cnblogs.com/liuyangfirst/p/13174572.html