威盛笔试题目(软件部门)威盛
留给后人看看吧。积攒rp。
1.说明下面程序的作用。
func(char*a,char*b)
{
while(*a++=*b++);
return;
}
2.#include
#define add(p) {p++;(*p)++;}
add(int *p) {p++;(*p)++;}
int a[]={0,1,2};
int main()
{
int *p=a;
add(p)
add(p)
printf("%d,%d,%d",a[0],a[1],a[2]);
p=a;
add(p);
add(p);
printf("%d,%d,%d",a[0],a[1],a[2]);
}
输出多少?
3.说明下面的的表达有没有不同,如果不同,请说明不同在哪里。
char* s1="hello";
char s2[]="world";
4.简述auto,static,register,extern四种存储类型的区别
5.int count=0;
int x=xx
int main()
{
while(x)
{
count++;
x=x&(x-1);
}
return count;
}
问输出返回的count值。
6.编程给一个程序,输入n,(1<=n<=20)给n*n的矩阵进行zigzag赋值,
即:n=0 时,a[0]=0;
n=4 时,a[4][4]=0 1 5 6
2 4 7 12
3 8 11 13
9 10 14 15
7.8个台阶,上台阶的人一次最多上3个台阶,问上这个8个台阶有多少种方法?
8.编写程序,产生一个8*8的数组,随即初始化该数组,然后编程查找该数组中值为1的元
素,讲该元素的所在的行列都赋为1.
9.a[2][2]={(0,1
阅读全文