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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM