下面的函数原型非法的是 ______。
A.void f(int a=1,int b=1)
B.int f(double f,char s,int i=1,int j)
C.void f(int a, int b)
D.int f(double f,char s,int i=1,int j=0)
第1题:
已知程序中已经定义了函数test,其原型是int test (int,int,int);,则下列重载形式中正确的是( )。
A.char test(int, int, int);
B.double test (int,int,double);
C.int test(int ,int, int=0);
D.float test(int,int,float=3.5F);
第2题:
给定函数原型如下: int* f(int *p);而变量定义如下: int i;
A.f(&(i+6));
B.f(&i);
C.*f(&i) = 6;
D.int* p = f(&i);
第3题:
假定变量i,f的数据类型分别是int、float。已知i=12345,f=1.2345e3,则在一个32位机器中执行如下表达式,结果为假的是
A.i==(int)(float)i
B.i==(int)(double)i
C.f==(float)(int)f
D.f==(float)(double)f
第4题:
给定函数原型如下: int* f(int *p); 而另有变量定义如下: int i; 哪个对函数的调用是错误的?
A.f(&(i+6));
B.f(&i);
C.*f(&i) = 6;
D.int* p = f(&i);
第5题:
若主函数有变量定义:int x=1 ; double y=2.3 ; 且有合法的函数调用语句f (y , x); 则下列关于函数f的原型声明中一定错误的是 。
A.void f(double, int);
B.int f(int , int);
C.int f(double, double);
D.void f(double, int, int);
第6题:
以下哪个函数是不正确的(与能否被编译无关)?
A.int* f(int *p) { int i; return &i; }
B.int* f(int *p) { return p; }
C.int* f(int *p) { return (int*)malloc(sizeof(int)); }
D.int* f(int *p) { return NULL; }