float的使用问题和c的一些运算问题

1、float的使用求解?
#include <stdio.h>
int main()
{
     float height;
     float weight;
     printf("您的身高是(米):");
     scanf("%f\n",&height);
     printf("您的体重是(公斤):");
     scanf("%f\n",&weight);
}


为什么编译的时候身高要输入两遍
例如
您的身高是(米):1.6
1.6
您的体重是(公斤):50
是这样的。


回答:
你的两个scanf中多了个\n
scanf中若有\n,要多输入一个回车的
改为
scanf("%f",&height);

scanf("%f",&weight);
这个程序就OK了。


2、不理解x=100 和x=50的意思?
int x=100;
f (int a)
{
int b=0;
static int c=1;
b+=2;
c+=3;
return a+b+c;
}
void g()
{
x=50;
printf("%d",x);
}
void main ()
{int a=100;
printf ("%d",f(a));
g()
printf ("%d",f(a));
}

不知道x=100与x=50是否对f(a)的输出值是否有影响?


回答:
x的值只对调用g()有影响,而调用f(a)时,实参是a=100,不是x,而且返值是a+b+c,所以x的值对调用f(a)后的输出没有影响。在此程序把printf()输出格式中增加了\n(每次打印后换行),即程序为:
int x=100;
f(int a)
{
int b=0;
static int c=1;
b+=2;
c+=3;
return a+b+c;
}
void g()
{
x=50;
printf("%d\n",x);
}
void main ()
{int a=100;
printf ("%d\n",f(a));
g();
printf ("%d\n",f(a));
}

程序的输出结果为:
106
50
109
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值