来嘛!来嘛!

wanghao2979 2007-04-21 05:37:17
#include <iostream>
#include <assert.h>
#include <stdlib.h>
using namespace std;
int main()
{
int i=0;
int *p=(int)malloc((int)sizeof(p)*1000);
assert(p!=0);
srand(time(NULL));
for(i=0;i<=999;i++)
{
*(p++)=rand();
}
for(i=0;i<=999;i++)
{
cout<<*(p++);
}
free(p);
system("pause");
return 0;
}
------ 已启动生成: 项目: wanghao, 配置: Debug Win32 ------
正在编译...
cc.cpp
d:\cc\wanghao\wanghao\cc.cpp(8) : warning C4311: “类型转换”: 从“void *”到“int”的指针截断
d:\cc\wanghao\wanghao\cc.cpp(8) : error C2440: “初始化”: 无法从“int”转换为“int *”
从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
d:\cc\wanghao\wanghao\cc.cpp(10) : error C3861: “time”: 找不到标识符
生成日志保存在“file://d:\cc\wanghao\wanghao\Debug\BuildLog.htm”
wanghao - 2 个错误,1 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
...全文
333 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
small_sentinel 2007-04-22
  • 打赏
  • 举报
回复
按ls说的,要free(q);
xlbdan 2007-04-22
  • 打赏
  • 举报
回复
除了楼上几位说的错误外,还有一个重要的地方:

int *q=p; //保留p的位置

...

for(i=0;i<=999;i++)
{
*(p++)=rand(); //这时p已经移到了999处
}
p=q; //这里要再将p指向数组的首地址
for(i=0;i<=999;i++) // 才能保证这里的输出从头开始
{
cout<<*(p++);
}
chenyu2202863 2007-04-21
  • 打赏
  • 举报
回复
int *p=(int)malloc((int)sizeof(p)*1000);=====〉改为
int *p=(int *)malloc((int)sizeof(p)*1000);//注意多了'*'

d:\cc\wanghao\wanghao\cc.cpp(10) : error C3861: “time”: 找不到标识符
=====〉
在加上头文件#include <time.h>
celftj 2007-04-21
  • 打赏
  • 举报
回复
bic是什么呢?
celftj 2007-04-21
  • 打赏
  • 举报
回复
楼上说的那个,楼主也想到了,不知为什么他又改回来
iambic 2007-04-21
  • 打赏
  • 举报
回复
#include <ctime>
//...
int *p=(int*)malloc((int)sizeof(p)*1000);
celftj 2007-04-21
  • 打赏
  • 举报
回复
灌水,
*(p++)=rand();

cout<<*(p++);这个用法不太好

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧