指针练习:ForEach

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针练习:ForEach相关的知识,希望对你有一定的参考价值。

指针练习:ForEach

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

程序填空,使得输出结果为:

1,4,9,16,25, 
h,e,l,l,o,!,

#include <iostream>
using namespace std;

void ForEach(void * a, int width, int num,
// 在此处补充你的代码
)

{
	for(int i = 0;i < num; ++i) 
		f((char*)a+width*i);
}

void PrintSquare(void * p)
{
	int * q = (int*)p;
	int n = *q;
	cout << n * n << ",";
}
void PrintChar(void * p) {
	char * q = (char*)p;
	cout << *q << ",";
}
int main()
{
	int a[5] = {1,2,3,4,5};
	char s[] = "hello!";
	ForEach(a,sizeof(int),5,PrintSquare); 
	cout << endl;
	ForEach(s,sizeof(char),6,PrintChar);
	return 0;
}
输入
输出
1,4,9,16,25,
h,e,l,l,o,!,
样例输入
样例输出
1,4,9,16,25,
h,e,l,l,o,!,
来源
Guo Wei
源代码:
void (*f)(void*)

以上是关于指针练习:ForEach的主要内容,如果未能解决你的问题,请参考以下文章

更新:C++ 指针片段

C#VS快捷键

C#VS快捷键

C#VS快捷键

C#VS快捷键

C语言进阶学习笔记二指针的进阶(重点必看+代码演示+练习)