帮忙!帮忙!!
有几题C语言的选择题,要请各位帮帮忙!
1.设定函数f(float x){printf("%d",x*x);}则函数f的类型是:
A.float B.int C.void D.不确定
2.设有函数定义
int fun(int vx){return vx+2.4;}则fun(1.7)的值是:
A、4.1 B、4 C、不确定 D、出错
3.设定义int a,*pa;则下面正确的赋值表达式是:
A、pa=&a B.pa=a C.*pa=&a D.*pa=*a
参考答案:1、B。如果不事先声明函数类型,则默认为整型。
2、我认为答案都不对。fun(1.7) 的值应该是3。因为vx是整型,如果接受值有小数,则强制把小数去掉(舍一法),故vx实际等于1;同理,return vx+2.4;,返回值也强制转换成整数,即return 1+2.4;==>return 3;。可能不同的编辑器强制转换的结果不同,有的是舍一法,有的是四舍五入,这样,答案就应该是C,不确定。
3、A。pa是指针型整数,指向的应该是地址,而不是某个具体的数值。所以A正确。指针变量赋值的两种方法:
a、int a,*pa=&a;
b、int a,*pa; pa=&a;