求大神帮个忙!!!!
写一个程式,以从parametera中复制string数据到parameterb,利用名字voidstringCopy(char*a,Char*b)在程式中,必须使用po...
写一个程式,以从parameter a中复制string数据到parameter b,利用名字
void stringCopy(char* a, Char* b)
在程式中,必须使用pointer变量去处理array中的数据,而不能使用integer index,
假设 main()程式如下:
int main()
{
char a[] =“12345”;
char b[] =“abcde”;
char c[] =“67890”;
char d[] =“vwxyz”;
stringCopy(a, b)//把a的内容复制到b
stringCopy(c, d)//把c的内容复制到d
cout << b << endl;
cout << d << endl;
return 0;
}
预期结果:
12345
67890
谢谢!!! 展开
void stringCopy(char* a, Char* b)
在程式中,必须使用pointer变量去处理array中的数据,而不能使用integer index,
假设 main()程式如下:
int main()
{
char a[] =“12345”;
char b[] =“abcde”;
char c[] =“67890”;
char d[] =“vwxyz”;
stringCopy(a, b)//把a的内容复制到b
stringCopy(c, d)//把c的内容复制到d
cout << b << endl;
cout << d << endl;
return 0;
}
预期结果:
12345
67890
谢谢!!! 展开
1个回答
展开全部
#include <iostream>
#include <math.h>
using namespace std;
void stringCopy1(char* a, char* b);
int main(void)
{
char a[] ="12345";
char b[] ="abcde";
char c[] ="67890";
char d[] ="vwxyz";
stringCopy1(a, b);
stringCopy1(c, d);
cout<<b<<endl;
cout<<d<<endl;
return 0;
}
void stringCopy1(char* a, char* b)
{
char *temp;
int length,i;
temp = a;
length = sizeof(a)/sizeof(char);
cout<<length<<endl;
for(i=0;i<=length;i++)
{
*(b+i) = *(temp+i);
}
}
#include <math.h>
using namespace std;
void stringCopy1(char* a, char* b);
int main(void)
{
char a[] ="12345";
char b[] ="abcde";
char c[] ="67890";
char d[] ="vwxyz";
stringCopy1(a, b);
stringCopy1(c, d);
cout<<b<<endl;
cout<<d<<endl;
return 0;
}
void stringCopy1(char* a, char* b)
{
char *temp;
int length,i;
temp = a;
length = sizeof(a)/sizeof(char);
cout<<length<<endl;
for(i=0;i<=length;i++)
{
*(b+i) = *(temp+i);
}
}
追问
为什麽输出的前两行会有4字,後面就没有问题了。而且,我还没有学sizeof呢,这是什麽?
追答
sizeof(a)是求数组a的字节数,sizeof(char)char型数据占的字节数,sizeof(a)/sizeof(char)求a中的字符个数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询