第二次作业
2018-04-07 21:29 孙佳钰 阅读(229) 评论(0) 编辑 收藏 举报一.学习内容总结
我们把某一元素的地址放到一个指针变量中,数组元素的指针就是数组元素的地址,这个地址不仅可以是变量的地址, 也可以是其它数据结构的地址。因为数组或函数都是连续存放的。通过访问指针变量取得了数组或函数的首地址, 也就找到了该数组或函数。指针可以自加或自减,而数组名是指针常量,不能自加或自减
二.在课堂或课后编程学习遇到的问题及解决过程
1 .不懂指针的用法及意义
解决:看书查询资料,了解运用指针的意义以及如何操作
2 .总弄混 & 与 *,而在便宜侯总显示错误
解决:翻阅书籍或相关资料,搞懂地址和变量,反复练习
3.在编译后发现错误,错误在于头文件的落写
解决:先打出#include<stdlib.h>,最基本的框架不能落下
三.作业
1.
#include <stdio.h> #include <string.h>void main() {char c,s[80]; int i,k=0; gets(s); c=getchar(); for(i=0; s[i]!='\0'; i++) {if(s[i]==c) k++; } printf("%d",k); }
截图:
2.
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int n=5,i,j; char **str; char s[100]; str=(char**)malloc(sizeof(char*)*n); for(i=0;i<n;i++) { str[i]=(char*)malloc(sizeof(char)*100); printf("请输入第%d个字符串\n",i+1); gets(str[i]); } puts("排序后的字符串为:"); for(i=0;i<n;i++) { for(j=i;j<n-1;j++) { if(strcmp(str[j+1],str[j])<0) { strcpy(s,str[j+1]); strcpy(str[j+1],str[j]); strcpy(str[j],s); } } } for(i=0;i<n;i++) { puts(str[i]); } for(i=0;i<n;i++) { free(str[i]); str[i]=NULL; } free(str); str=NULL; return 0; }
截图:
四.附加内容
1.截图: