威盛的软件笔试题
1, 三组程序,找出错误,如果有的话.
1> a.c long temp[255];
b.c extern *temp;
2> a.c long temp[255];
b.c extern temp[256];
3> a.c long temp[255];
b.c extern temp[];
2, 在第一个声明处编译出了奇怪的错误,为什么?
#include <stdio.h>
#include "myfun1.h"
#include "myfun2.h"
int myInt1;
int myInt2;
3, printf("0x%x", (&0)[-1]); 请问打印了什么?
4, 结构体内某项偏移地址
5, 汇编,用ax,bx,cx,dx, 求1000*1000/30(四舍五入), 结果放在ax中.
6, 1,2,3,4,5,6,7,8,9从栈里出来的可能性.
7, 求一个struct的sizeof.(略)
8, 编最优化Bubble(int *pIntArray,int L),要求:交换元素不能用临时变量,如果有序,
======================================================================================
对第一题进行过实验,程序如下:a.cpp和teste.cpp要包括在同一个工程中
//a.cpp
#include "iostream"
using namespace std;
char temp[255];
void settemp()
{
strcpy(temp,"Hello World!");
cout<<endl;
cout<<temp;
cout<<endl;
cout<<endl;
}
//teste.cpp
//#include "a.cpp"
#include "iostream"
using namespace std;
extern char temp[];
extern void settemp();
int main(int argc, char* argv[])
{
settemp();
cout<<endl<<temp<<endl<<endl;;
return 0;
}
其中可以写成extern char temp[]; 或者extern char temp[255];
写成extern char * temp; 运行时出错
写成extern temp[255]; 时
teste.obj : error LNK2001: unresolved external symbol "int * temp" (?temp@@3PAHA)
Debug/teste.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.