深圳ET公司笔试题摘选

被鄙视了,好伤心的。。

以下语句的执行顺序和输出结果是什么


public class test{
    /*1*/private static test obj=new test();
    /*2*/public static int counter1;
    /*3*/public static int counter2=0;
    /*4*/private test(){
        counter1++;
        counter2++;
    }
    
    /*5*/public static test getInstance(){
        return obj;
    }
    
    public static void main(String [] args){
        test obj=test.getInstance();
        System.out.println("obj.counter1=="+obj.counter1);
        System.out.println("obj.counter2=="+obj.counter2);
    }
}


个人认为顺序应该是:14235

编译时确定变量的类型和存储位置,给予默认值0,赋值在声明完成后进行,所以在test()中,虽然counter1,counter2都变成了1,但后来又将counter2赋值为了0

输出

obj.counter1==1
obj.counter2==0


其他

运算符优先级问题

画出大小端存储ox12345678的方式

多态类中的虚函数表是Compile-Time还是Run-Time时建立的

定义一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(C)

A.int (*a)[10](int)  B.(int (*a)(int))[10]  C.int (*a[10])(int)  D.int *a[10](int)

数组定义“int a[4]”,错误的是(D)

A.*a  B.a[0]  C.a  D.a++

不用库函数和新的变量实现求字符串长度的函数int strlen1(const char*p)


int strlen1(const char *p)
{
	if(p[0]=='\0')
		return 0;
	return 1+strlen1(p+1);
}

判断回文数int IsMemm(long n)


int IsMemm(long n)
{
	long b=0,m=n;
	while(m)
	{
		b=b*10+m%10;
		m/=10;
	}
	return b==n;
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值