strcpy又一个
void test()
{
char string[10];
char str[10];
for (int i = 0; i < 10; ++i)
{
string[i] = 'a';
}
strcpy(string, str);
}
哪里错了?正确的呢?
问题点数:20、回复次数:5Top
1 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-07-03 20:06:08 得分 0
源串string没有结束标志‘\0’Top
2 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-07-03 20:08:37 得分 0
void test()
{
char string[10];
char str[10];
//for (int i = 0; i < 10; ++i)
for (int i = 0; i < 9; ++i)
{
string[i] = 'a';
}
string[i]='0';
//strcpy(string, str);
strcpy(str, string);
}
Top
3 楼tailzhou(尾巴)回复于 2006-07-03 20:16:07 得分 0
你的str跟string都没有字符串的结束符'\0';并且string的空间不够保存连接后的字符串.
void test()
{
char string[20]; //需要给string预留更多的空间,以保存连接后的字符串;
char str[10];
str[0]='b';
str[1]='\0';
for (int i = 0; i < 10; ++i)
{
string[i] = 'a';
}
string[10]='\0';
strcpy(string, str);
}
Top
4 楼tailzhou(尾巴)回复于 2006-07-03 20:20:12 得分 0
把strcpy错看成strcat了。
A_B_C_ABC(黄瓜)的就可以拉Top
5 楼yuyuan830705()回复于 2006-07-03 20:21:16 得分 0
1.
memset( string, 0x00, sizeof( string));
memset( str, 0x00, sizeof( str));
2.
for (int i = 0; i < 10; ++i)
↓
for (int i = 0; i < 9; ++i)Top




