菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
353
0

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

原创
05/13 14:22
阅读数 21949

这个是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

 

发表评论

0/200
353 点赞
0 评论
收藏
为你推荐 换一批