永发信息网

C编程遇到不会的 求大神帮忙 谢谢

答案:3  悬赏:40  手机版
解决时间 2021-11-14 04:34
  • 提问者网友:黑米和小志
  • 2021-11-13 12:28
C编程遇到不会的 求大神帮忙 谢谢
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-11-13 14:02
scanf 函数的返回值:

  1) 正整数,表示正确输入参数的个数。例如执行
int a;int b; scanf("%d %d", &a, &b);      如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);
      如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。    
  2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。


所以说你要输入两个数字就改成:
 float a,b;
 while(scanf("%1f %1f", &a, &b)==2)
 {
 },这个2就是正确输入的参数个数。例如输入:1.1 2.3【回车】(数字中间有空格)



类似的,第一个题:
float a;

scanf("%1f", &a);
while(a>0)
{
    //处理 ...
    scanf("%1f", &a);
}还可以写成这样:
while(scanf("%1f", &a)==1&&a>0)
{
    //处理 ...
}
全部回答
  • 1楼网友:山君与见山
  • 2021-11-13 16:50
while(scanf("%lf%lf",&a,&b)==2)
  • 2楼网友:掌灯师
  • 2021-11-13 15:20
scanf的返回值代表正确输入的数据的数量
==1 代表一次只能输入一个数据
要是想如入多个数据
那么就要把==1去掉,然后用 "%f %f" 等接收多个输入
float t1,t2;
scanf("%f %f",&t1,&t2);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯