程序设计与算法(一)测验题汇总(2019秋季)-048:指针练习:Memcpy之一

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版权协议,转载请附上原文出处链接和本声明。