社区
C语言
帖子详情
为什么输出结果不都为0
manrenmanren
2006-11-25 03:42:27
考虑这段代码
long *buf = (long *)malloc(10);
memset(buf,0,1);
int i;
for(i = 0;i < 10;i++)
cout<<buf[i]<<" ";
结果为:0 0 0 135105 0 0 0 0 0 0
为什么不都是0?
在Linux下用gcc编译
...全文
289
8
打赏
收藏
为什么输出结果不都为0
考虑这段代码 long *buf = (long *)malloc(10); memset(buf,0,1); int i; for(i = 0;i < 10;i++) cout<<buf[i]<<" "; 结果为:0 0 0 135105 0 0 0 0 0 0 为什么不都是0? 在Linux下用gcc编译
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
manrenmanren
2006-12-08
打赏
举报
回复
谢谢。
manrenmanren
2006-12-06
打赏
举报
回复
mark
manrenmanren
2006-11-25
打赏
举报
回复
可以这么用的,错误是在字节的数目上,呵呵。
一分之千
2006-11-25
打赏
举报
回复
long *buf = (long *)malloc(10);
memset(buf,0,1);
这里不对吧?这是一个指针啊!
manrenmanren
2006-11-25
打赏
举报
回复
错了,是一位(^_^)
manrenmanren
2006-11-25
打赏
举报
回复
解决了,谢谢两位朋友的帮助!
谢谢!!
jixingzhong
2006-11-25
打赏
举报
回复
malloc 的单位是字节,
如果malloc(10) 这样是分配10字节,
不是 10 个long 元素 !!
memset 也是一样~~
jixingzhong
2006-11-25
打赏
举报
回复
代码存在很大的问题:
long *buf = (long *)malloc(10*sizeof(long));
memset(buf,0,10*sizeof(long));
int i;
for(i = 0;i < 10;i++)
cout<<buf[i]<<" ";
C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
float a=7.5f; 如果用printf("... 为什么 7.5 用%d输出的是0?分析如下: 首先来了解下printf的输出格式,int 和 long int 都是32位的,用%d输出;float 、double都是%f输出,但 float 是32位...
Linux执行结果不输出到终端
/dev/null:可以理解为linux下的回收站; 通过符号“>”把标准输出进行重定向; 2>&1:是把出错输出也重定向输出; [root@abc home]# ./test2.sh t.txt >/dev/null 2>&1 [root@abc home]# ./test2.sh t22....
Jupyter notebook不输出运行结果
其他帖子还提供了 重装jupyter、降级pyzmq等方法,这里建议先尝试这种方法,操作简单,耗时短,哪怕不成功还可以复原!在“用户变量”中找到并选中“TEMP”→点击“编辑”→在变量值栏中输入“%SystemRoot%\TEMP”→...
c++运行不
输出结果
怎么办
main函数中可在各个地方插入return 0提前结束程序,直到有结果出现,问题就出在return 0的下方 如果在自定义函数内部,则需要使用exit(0); 来结束整个程序 ps:可用二分的思想查找出错地方 ...
为什么pow()函数使用%d输出一直为0?为什么整数使用%f输出也一直为0?
为什么pow()函数使用%d输出一直为0?为什么整数使用%f输出也一直为0?两者有何联系? 通过下面这个简单代码即可直观发现他们的输出 #include<stdio.h> #include<math.h> int main() { printf("%d ",...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章