打印
[C语言]

数组能不能一次性赋值

[复制链接]
2119|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nightingale2003|  楼主 | 2014-7-28 23:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们初始化某个数组的时候可以一次性给某个数组赋初值,如
char str[5]={1,2,3,4,5};
不过到了函数中却不能直接用
str[5]={5,4,3,2,1};
来一次性改变,因为会报错。
而使用str[5]="abcde";也会发出警告。

想问下是不是只能一个一个的赋值,而没法一次性赋值呢?

相关帖子

沙发
ballack_linux| | 2014-7-29 01:16 | 只看该作者
你可以用指针的方式来实现,比如
char *str;
str = "abcde";
如果你想用数组的方式,也有办法,比如
char str[5];
strcpy(str,"abcd");

使用特权

评论回复
板凳
ayb_ice| | 2014-7-29 07:01 | 只看该作者
定义以外的时候意思都变了嘛

使用特权

评论回复
地板
李冬发| | 2014-7-29 08:10 | 只看该作者
本帖最后由 李冬发 于 2014-7-29 08:27 编辑

...

使用特权

评论回复
5
chhyxf| | 2014-7-29 08:26 | 只看该作者
只有在定义数组的时候才能一次性赋值

使用特权

评论回复
6
wsnsyy| | 2014-7-29 08:43 | 只看该作者
str[5]={5,4,3,2,1};是什麽意思?第五個數?

使用特权

评论回复
7
icekoor| | 2014-7-29 08:58 | 只看该作者
str[5]={5,4,3,2,1};
除了初始化,这么用是错误的;因为没有str[5]这个变量,你声明的数组只到str[4];

使用特权

评论回复
8
原野之狼| | 2014-7-29 08:59 | 只看该作者
定义该变量时可以这样子写,使用的时候就不行了。

使用特权

评论回复
9
SevenWans| | 2014-7-29 14:38 | 只看该作者
ballack_linux 发表于 2014-7-29 01:16
你可以用指针的方式来实现,比如
char *str;
str = "abcde";

指针也不好使,如果是数字的数组呢

使用特权

评论回复
10
nightingale2003|  楼主 | 2014-7-29 23:25 | 只看该作者
ballack_linux 发表于 2014-7-29 01:16
你可以用指针的方式来实现,比如
char *str;
str = "abcde";

查了下,加了个string.h.然后用数组的方法,成功了。感谢指点

使用特权

评论回复
11
ballack_linux| | 2014-7-30 13:03 | 只看该作者
SevenWans 发表于 2014-7-29 14:38
指针也不好使,如果是数字的数组呢

数字的也可以啊  无非就是加个0x30或减个0x30罢了。

使用特权

评论回复
12
SevenWans| | 2014-7-30 13:38 | 只看该作者
ballack_linux 发表于 2014-7-30 13:03
数字的也可以啊  无非就是加个0x30或减个0x30罢了。

你弄个例子吧,AS码确实是那样转,但是感觉还是不方便呢

使用特权

评论回复
13
限量_个性。| | 2014-7-30 14:08 | 只看该作者
ballack_linux 发表于 2014-7-30 13:03
数字的也可以啊  无非就是加个0x30或减个0x30罢了。

数字的还是用字符串转数字的库函数比较好。单个字符可以用ascall码相关的转换。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

105

帖子

2

粉丝