第二次作业
一.学习内容总结
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;
}
截图:
四、附加内容
热爱每一天
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述