怎么让数组元素全部初始化为一个指定值

coolboycool 2011-01-19 08:42:29
比如 int num[30];
我想让 num数组所有的值都初始化为 99


请问应该怎么做呢? 谢谢
...全文
14111 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
老马数据 2013-07-02
  • 打赏
  • 举报
回复 1
int num[30]={[0 ... 29]=99};
qq623488798 2012-07-22
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
C/C++ code
memset皆是放屁.

memset按字节赋值,而数组类型是int占4字节,4个字节都是99的int能打印出99么?
memset只能用-1或者0来赋值因为-1的二进制是全1,0的二进制是全0,只有这样的字节才会有意义(比如利用bit标记某数是否出现过.)
[/Quote]
回答得精辟啊!
JKay_Wong 2011-07-28
  • 打赏
  • 举报
回复 1
[Quote=引用 15 楼 qq120848369 的回复:]
C/C++ code
memset皆是放屁.

memset按字节赋值,而数组类型是int占4字节,4个字节都是99的int能打印出99么?

memset只能用-1或者0来赋值因为-1的二进制是全1,0的二进制是全0,只有这样的字节才会有意义(比如利用bit标记某数是否出现过.)
[/Quote]

++
coolboycool 2011-03-03
  • 打赏
  • 举报
回复
15楼是亮点,特给20分:)
wizard_tiger 2011-01-23
  • 打赏
  • 举报
回复
还是用循环吧!

#include<stdio.h>

int main()
{
int num[30];
int i;
for(i=0;i<30;i++)
num[i]=99;
return 0;
}
proorck6 2011-01-22
  • 打赏
  • 举报
回复
用for循环
pp25210 2011-01-21
  • 打赏
  • 举报
回复
老实的循环吧
热爱Coding 2011-01-21
  • 打赏
  • 举报
回复
膜拜路过
MSOKD 2011-01-21
  • 打赏
  • 举报
回复
int num[30]={90,90,90,,,,}
mldxs 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qq120848369 的回复:]

C/C++ code
memset皆是放屁.

memset按字节赋值,而数组类型是int占4字节,4个字节都是99的int能打印出99么?

memset只能用-1或者0来赋值因为-1的二进制是全1,0的二进制是全0,只有这样的字节才会有意义(比如利用bit标记某数是否出现过.)
[/Quote]
给力
Sieg1978 2011-01-21
  • 打赏
  • 举报
回复
memset能用来清0,要设置一个特定值还是用循环
bluesky12312388 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 ptrunner 的回复:]

C/C++ code


struct intarray
{
intarray(int val)
{
for (int i=0; i<30; i++)
{
num[i] = val;
}
}
int num[30];
};
struct intarray ia(99);
[/Quote]

这个真不算,
pstrunner 2011-01-21
  • 打赏
  • 举报
回复


struct intarray
{
intarray(int val)
{
for (int i=0; i<30; i++)
{
num[i] = val;
}
}
int num[30];
};
struct intarray ia(99);
flysnowhite 2011-01-21
  • 打赏
  • 举报
回复
循环赋值好了,简单直观。
  • 打赏
  • 举报
回复 1
看来我只能用循环这个笨方法了
jungle_007 2011-01-21
  • 打赏
  • 举报
回复
用汇编。。。
leihelin5201314 2011-01-20
  • 打赏
  • 举报
回复
memset也是循环的好像,我以前忘了在哪看过
CJBAAA 2011-01-20
  • 打赏
  • 举报
回复
有些东西吧,他只能用笨方法没有捷径。你就别别出心材
qq120848369 2011-01-20
  • 打赏
  • 举报
回复 1
memset皆是放屁.

memset按字节赋值,而数组类型是int占4字节,4个字节都是99的int能打印出99么?

memset只能用-1或者0来赋值因为-1的二进制是全1,0的二进制是全0,只有这样的字节才会有意义(比如利用bit标记某数是否出现过.)
wudichong 2011-01-20
  • 打赏
  • 举报
回复
memset(num,99,sizeof(num))
加载更多回复(12)

69,381

社区成员

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

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