幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2430|回复: 2

[通用编程] 数组的输出问题

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-3-25 22:33:09 | 显示全部楼层 |阅读模式
这是将数组C的前n个元素赋给数组b
#include"stdio.h"
main()
{
void str(char c[],char b[],int n);
int n;
char c[]="fuckyouforever";
char b[20];
printf("\nplease enter input the words number:\n");
scanf("%d",&n);
str(c,b,n);
}
void str(char c[],char b[],int n)
{
int i;
for(i=0;i<n;i++)
{
b=c;
}b[i+1]='\0';  ----------->为什么这里写成b[i+1]会导致输出答案后,再输出一个不相关的字符或符号呢?
printf("the is words is %s\n",b);
}
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2007-3-25 22:54:00 | 显示全部楼层
把未初始化的元素都填上\\0,这样就不会了
回复 支持 反对

使用道具 举报

2

主题

6

帖子

68

积分

②入门

积分
68
发表于 2007-4-3 08:02:48 | 显示全部楼层
因为字符串是以 \\0 作为结束标志的,而不是你所想的能用字符个数来限制的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-5 10:58 , Processed in 0.020004 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表