C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 405|回复: 13

数组赋值 [复制链接]

Rank: 1

主题
0
帖子
17
C币
30 枚
在线时间
3 小时
发表于 2010-8-9 08:06:20 |显示全部楼层
#include "string.h"
#include "stdio.h"
void main()
{
char b[30]
strcpy(&b[0],"ok");
strcpy(&b[1],"you");
strcpy(&b[2]),"but");
printf("%s\n",b);
}


答案是oybut
完全不知道是怎么回事
谢谢 帮忙解一下

Rank: 12Rank: 12Rank: 12

主题
18
帖子
318
C币
1381 枚
在线时间
235 小时
发表于 2010-8-9 16:41:40 |显示全部楼层
main()
{
char b[30];
strcpy(&b[0],"ok");
strcpy(&b[2],"you");
strcpy(&b[5],"but");
printf("%s\n",b);
}

Rank: 12Rank: 12Rank: 12

主题
18
帖子
318
C币
1381 枚
在线时间
235 小时
发表于 2010-8-9 16:42:51 |显示全部楼层
也可以用puts

Rank: 12Rank: 12Rank: 12

主题
18
帖子
318
C币
1381 枚
在线时间
235 小时
发表于 2010-8-9 16:43:11 |显示全部楼层
main()
{
char b[30];

strcpy(&b[0],"ok");
strcpy(&b[2],"you");
strcpy(&b[5],"but");
puts(b);

}

Rank: 12Rank: 12Rank: 12

主题
18
帖子
318
C币
1381 枚
在线时间
235 小时
发表于 2010-8-9 16:43:18 |显示全部楼层
main()
{
char b[30];
strcpy(&b[0],"ok");
strcpy(&b[2],"you");
strcpy(&b[5],"but");
printf("%s\n",b);
}

Rank: 1

主题
0
帖子
3
C币
4 枚
在线时间
0 小时
发表于 2010-8-9 17:13:37 |显示全部楼层
对,估计是你第一次就将d[0]和d[1]都赋值了吧?

Rank: 1

主题
1
帖子
42
C币
44 枚
在线时间
12 小时
发表于 2010-8-9 18:12:50 |显示全部楼层
这是在第一个复制里把o赋给b[0].k赋给b[1],然后第二个复制时把y赋给b[1].o赋给b[2],u赋给b[3],然后第三个复制时。。。。你自己想想,该是什么情况呢?      








  对了,就是把b赋给b[2].u赋给b[3],t赋给b[4],然后输出的就是"oybut"!

Rank: 1

主题
1
帖子
42
C币
44 枚
在线时间
12 小时
发表于 2010-8-9 18:33:16 |显示全部楼层
你可以验证我的对不对,就是在复制一次,然后根据这个思路,看结果对否!

Rank: 1

主题
0
帖子
17
C币
30 枚
在线时间
3 小时
发表于 2010-8-11 07:57:09 |显示全部楼层
8# lizanle521
能解释详细一点吗

Rank: 12Rank: 12Rank: 12

主题
18
帖子
318
C币
1381 枚
在线时间
235 小时
发表于 2010-8-11 12:45:45 |显示全部楼层
char c不是数组,是字符串
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 23:02

©2009-2011 cyuyan.com.cn

回顶部