威盛软件笔试题目分享:
1.#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/n",a[0],a[1],a[2]);p=a;Add(p);Add(p);printf("%d,%d,%d/n",a[0],a[1],a[2]);}输出多少?
2.:说明下面程序的作用。
func(char*a,char*b){while(*a++=*b++);return;}
3.:说明下面的的表达有没有不同,如果不同,请说明不同在哪里。
char* s1="hello";
char s2[]="world";
4.简述auto,static,register,extern四种存储类型的区别
5.:int count=0;int x=2007int main(){while(x){count++;x=x&(x-1);}return count;}问输出返回的count值。
6.:8个台阶,上台阶的人一次最多上3个台阶,问上这个8个台阶有多少种方法?
7.编程给一个程序,输入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