字符数组可以跳着赋值吗?

HelloWife 2006-04-02 06:58:19
如:char a[10]="abcdef";
a[2]='x';
可以吗?为什么不行?那我想改变第二个怎么办?
...全文
266 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmajian 2006-04-03
  • 打赏
  • 举报
回复
标准C里面都可以呢嘛
醉梦书生 2006-04-03
  • 打赏
  • 举报
回复
jixingzhong说的没有错
jiangjundu 2006-04-03
  • 打赏
  • 举报
回复
没问题,这正是字符数组的方便之处啊
feny911 2006-04-03
  • 打赏
  • 举报
回复
估计楼主是下标写错了。

如:char a[10]="abcdef";
a[2]='x'; //改变第三个
可以吗?为什么不行?那我想改变第二个怎么办?
//a[1]='x' 改变第二个
houwei16 2006-04-03
  • 打赏
  • 举报
回复
可以。。
yuanchuang 2006-04-03
  • 打赏
  • 举报
回复
ok
数组可以
字符串常量不行
前者每个元素等同于变量
后者……嘿嘿,是常量
hsilz 2006-04-03
  • 打赏
  • 举报
回复
kekyi
LoveCreatesBeauty 2006-04-03
  • 打赏
  • 举报
回复
> 但s2导致未定义行为。

应为a2。打错了,对不起。


csdn为什么不能用等宽字体呢?
LoveCreatesBeauty 2006-04-03
  • 打赏
  • 举报
回复
字符数组与其它数组是一样的,可以引用并对数组元素赋值。请区别这三种情况。编译器对a1, a2两种修改都不会抱怨,但s2导致未定义行为。a3则不能在符合标准的编译器通过编译。


char a1[] = "aaaa";
char *a2 = "aaaa";
const char *a3 = "aaaa";

a1[0] = 'A';
a2[0] = 'A';
/* a3[0] = 'A'; */
yinqing_yx 2006-04-02
  • 打赏
  • 举报
回复
看你整的是哪一片了 -_-!
OpenHero 2006-04-02
  • 打赏
  • 举报
回复
可以
jixingzhong 2006-04-02
  • 打赏
  • 举报
回复
可以这么修改 ....

如果是 字符串常量就不可以修改了 ...
如:char *a = "abcdef";
a[2]='x'; //出错 !
tzk 2006-04-02
  • 打赏
  • 举报
回复
当然可以
duduhaha 2006-04-02
  • 打赏
  • 举报
回复
可以这样赋值.只要没超过数组范围就行.

69,382

社区成员

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

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