048:指针练习:Memcpy之一
描述
程序填空,使得程序按要求输出
#include
using namespace std;
void Memcpy(char * src,char * dest,int n)
{
// 在此处补充你的代码
}
int Strlen(char * s)
{
int i;
for( i = 0; s[i]; ++i);
return i;
}
int main()
{
int a;
char s1[30];
char s2[30];
int t;
cin >> t;
for(int i = 0;i < t; ++i) {
cin >> a;
int b = 99999999;
Memcpy((char*)&a,(char *) &b,sizeof(int));
cout << b << endl;
}
for(int i = 0;i < t; ++i) {
cin >> s1;
Memcpy(s1,s2,Strlen(s1)+1);
cout << s2 << endl;
}
return 0;
}
输入
第一行是整数t
接下来是t个整数
再接下来是t个不带空格的字符串,长度不超过20
输出
按原样输出t个整数和t个字符串
样例输入
2
12
24
abcd
ef
样例输出
12
24
abcd
ef
#include <iostream>
using namespace std;
void Memcpy(char * src,char * dest,int n)
{
// 在此处补充你的代码
while(n--)//到0结束循环,这里的n指的是数组src的长度
*dest++ = *src++;
}
int Strlen(char * s)
{
int i;
for( i = 0; s[i]; ++i);
return i;
}
int main()
{
int a;
char s1[30];
char s2[30];
int t;
cin >> t;
for(int i = 0;i < t; ++i) {
cin >> a;//函数有两个实参,但输入只有一个参数,输出却是另一个参数,输出值等于输入值,说明函数的作用是把输入参数给了输出参数
int b = 99999999;//赋给b一个初值
Memcpy((char*)&a,(char *) &b,sizeof(int));//相当于把数组a的值赋值给数组b
cout << b << endl;//这个是int型的变量,所以长度为int的字节数
}
for(int i = 0;i < t; ++i) {
cin >> s1;
Memcpy(s1,s2,Strlen(s1)+1);
cout << s2 << endl;
}
return 0;
}
版权声明:本文为goubacaiqiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。