第二次作业
一,学习内容总结
1.这几周我们主要学习了指针,指针的概念比较复杂,使用比较灵活,可以动态分布内存,方便的使用字符串和数组,能直接处理内存单元地址。主要内容包括数组和指针,函数和指针,字符串和指针。指针和数组比较相似,但指针的效率更高。在使用指针时,必须要先定义一个指针变量,而且指针要有明确的指向,否则即使程序会运行结果也会出错。
2.在程序中如果遇到引用数组中元素的问题,既可以用普通的数组法,也可以用指针法,其中指针变量既可以指向数组中某一元素也可以只想某一元素的地址。
二,遇到的问题及解决方法
遇到的问题
在做pta作业时,在编译器上运行结果完全正确,但在pta上提交就提示答案错误。
解决方法:先自己不断调试修改,截图如下
但是结果是部分正确,就去请教同学,不用指针而使用数组的方法去做,结果就对了,最终代码如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char m[80],ch; int i; int s=0; gets(m); ch=getchar(); for(i=0;m[i]!='\0';i++) { if(m[i]==ch) { s++; } } printf("%d",s); return 0; }
三,作业代码:同上
运行结果如下:
四,附加内容:
注册MOOC并参加C程序课程截图: