标题:strcpy的问题
只看楼主
huangy82
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-1-6
 问题点数:0 回复次数:4 
strcpy的问题

大家猜一下以下运行结果是什么? 绝对不是aaaaaaaaaa,而是没输出,不知道为什么?

#include<iostream.h>
#include<string.h>


void test2()
{
char string[10], str1[10];int i;
for(i=0; i<10;i++)
{
str1[i]='a';
}

strcpy(string,str1);

for( i=0;i<10;i++)
cout<<string[i]<<endl;
}

void main()
{
test2();
}

搜索更多相关主题的帖子: strcpy string void include main 
2006-02-26 14:27
tyfabc_sc
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-2-17
得分:0 

赋值改为
for(i=0; i<9;i++)
{
str1[i]='a';
}
str1[9]='\0';

2006-03-02 11:15
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 
这个问题确实很容易被忽视

在字符串数组中。结束符“\n"要占一个位置.

你的数组空间大小是十.而又给了它10个字符."\n"就没出放了.

有实力才会有魅力 实力来自坚持不懈的努力
2006-03-02 18:56
huangy82
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-1-6
得分:0 
谢谢各位的回答啦
2006-03-09 14:58
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
得分:0 
感觉回答的不太对,想打印10个'a'应该把strcpy(string,str1);换成strncpy(string,str1,10);
除了这行之外,所有的操作都是字符操作,都没有问题。

http://myajax95./
2006-03-09 15:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47256-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.577428 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved