1、float的使用求解?
为什么编译的时候身高要输入两遍
例如
您的身高是(米):1.6
1.6
您的体重是(公斤):50
是这样的。
回答:
你的两个scanf中多了个\n
scanf中若有\n,要多输入一个回车的
改为
scanf("%f",&height);
及
scanf("%f",&weight);
这个程序就OK了。
2、不理解x=100 和x=50的意思?
不知道x=100与x=50是否对f(a)的输出值是否有影响?
回答:
x的值只对调用g()有影响,而调用f(a)时,实参是a=100,不是x,而且返值是a+b+c,所以x的值对调用f(a)后的输出没有影响。在此程序把printf()输出格式中增加了\n(每次打印后换行),即程序为:
程序的输出结果为:
106
50
109
#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