第二次作业
一.学习内容总结
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;
}
截图:
四、附加内容
热爱每一天