首页 > 技术文章 > 第二次作业

blueblog6 2018-04-07 21:31 原文

一.学习内容总结
1>指针的使用很灵活,利用指针间接进行操作提供了解决问题的另外一种方法。指针的作用就是用来存放地址,然后通过地址指向的内存空间进行操作。指针无论定义的是哪种数据类型,占用的内存空间都为8字节,定义的变量如果想要用指针来操作,必须具有相同的数据类型,否则编译会警告,且往往会导致结果不正确。

2>指针与数组虽然长得不像,但是在使用上却非常相似。就拿指针取元素跟数组取元素来说,都可以直接用下标取。当然,指针还有其自身的方法,就是让地址加i,指针通过+i也可以遍历整个数组的元素。
       
二.遇到的问题
问题1:我用一开头用return n得不到想要的结果。
问题1的解决方案:经过我反复的调试,我发现我在printf("%d",n)这个地方出错了。应该为printf("%d",time(s,m,n)),因为是返回值,所以应返回代表整个函数的值才对。
三.作业
代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int time(char *s,char m,int n);
main()
{
	char s[80];
	char m;
	int n=0;
	gets(s);
	m=getchar();
	time(s,m,n);
	printf("%d",time(s,m,n));
	system ("pause");
 } 
int time(char *s,char m,int n)
{
	int i;
	for (i=0;s[i]!='\0';i++)
	{
		if(s[i]==m)
		{
			n++;
		}
	}
	return n;
}

截图:

四、附加内容

推荐阅读