1. memset()函数 2. 科学记数法 3. 时间复杂度

ufouser 2004-03-16 07:17:19
1.先看
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
int p[20];
memset(p,0,20);
for ( int i = 0; i < 20; ++i )
{
cout << p[i];
}
cout << endl;

return 0;
}
这里memset()是不是将p清为0啊?
我的输出是:
00000-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460

2.98下
cout << 1e6 << endl;
有时竟然打出一串希奇古怪的数字
如何解释?

3.假设对一些数据结构进行遍历(如链表,树等)的算法
(1)对于平均时间复杂度的定义是a还是b还是其他?
a?对其中所有元素访问时间总和的平均
b?大量随机访问时间总和的平均
(2)对于算法的最差运行时间
如果是一棵未知形状的(可能不平衡)的二叉树,如何测定某遍历算法的最差运行时间?
(我这里是指用程序测定它的CPU运行时间而不是理论分析)
...全文
204 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ufouser 2004-03-16
  • 打赏
  • 举报
回复
谢谢诸位
Darkay_Lee 2004-03-16
  • 打赏
  • 举报
回复
1、memset(p, 0, sizeof(p));
2、浮点数精度的问题。
3、算法的复杂度不是通过计算机运算得到的,而是通过数学计算分析得到的。
flyingbugs 2004-03-16
  • 打赏
  • 举报
回复
3.
(1).b
(2).你的题目描述不清楚
flyingbugs 2004-03-16
  • 打赏
  • 举报
回复
2.你用的什么编译器?
flyingbugs 2004-03-16
  • 打赏
  • 举报
回复
1. memset(p, 0, 20*sizeof(int));
你忘了加sizeof(int)
computerhero 2004-03-16
  • 打赏
  • 举报
回复
memset(p,0,20);只是把数组的前20个字节置成0,并不是将它的20个元素置成0,所以有你的结果。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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