下面是引用0951020223于2005-05-11 14:57发表的 :
  
就是因为你的x.size是0...for才不会动作.. 
复制程式
#include <cstdlib>
#include <iostream>
using namespace std;
struct vector { //定义结构
  int* ptr;
  int  size;
};
//以下为你必须实现功能的函数
void vec_creat(vector& v, int s); //建立vector
void vec_resize(vector& v, int s); //重新调整vector 大小
int vec_get(vector& v,int p);//取出数值
void vec_set(vector& v, int p, int val); //设定数值(指定array位置作数值设定)
void vec_clean(vector& v); //清除vector
//以下为已完成功能的函数(你只需使用下列函数,不要对下列函数修改)
void vec_set(vector& v,int val); //设定数值(对全部array作设定)
void vec_print(vector& v); //列印
//主程式
int main(int argc, char *argv[])
{
 vector x;
 x.ptr=NULL;
 x.size=0;
 
 vec_creat(x,10);
 int i=0;
 for(int i=0; i<x.size;i++)
   vec_set(x,i,i*i);
 
 vec_print(x);
 
 vec_set(x,99);
 vec_print(x);
 
 system("PAUSE");
 return 0;
} 
//===============
void vec_print(vector& v){
   for(int i=0; i<v.size;i++)
     cout<<vec_get(v,i)<<" ";
   cout<<endl;
}
void vec_set(vector& v,int val) {
   for (int i=0; i<v.size;i++)
     v.ptr[i]=val;
}
//=============================
void vec_creat(vector& v,int s){
        v.ptr = new int[s];
        v.size = s;
        memset(v.ptr, 0, sizeof(int)*v.size); 
}
void vec_resize(vector& v,int s){
     int s1,v1;
      v.ptr =new int[s];
     for (int i=0;i<s;i++)
     v.ptr[s1]=v.ptr[s];
      delete [] v.ptr;
       v.ptr[s];  
}
int vec_get(vector& v,int p){
     return v.ptr[p];
}
void vec_set(vector& v,int p,int val){ //指定位置设定数值                       
   v.ptr[p]=val;     
}
void vec_clean(vector& v){
     if (v.ptr=NULL)
     delete [] v.ptr;
     v.ptr=NULL;
}      
 这是我刚刚跑出来的答案,虽然是跟助教的答案一样.
但我总觉得要ㄉ好像并不是这样子内... 
 好像还要有些条件. 
 其实说老实话,我真ㄉ一点都看不懂我自己在写什么.
尤其是 ?.ptr   ?.size
转来转去,实在也是不知道该如何ㄉ使用.
真ㄉ很感谢各位大大ㄉ帮忙... 
尤其是0951020223,codeboy和唐老鸭.
这几位大大的大力协助.....
谢谢您们啰!!