zoukankan      html  css  js  c++  java
  • 第二次作业

    一、学习内容总结

    指向指针的指针,可以这样理解,首先指向指针的指针可以把他看成一种特殊的变量,既然是变量就可以存储不同的元素,比如整形变量int a,a可以存储2,3,4这种普通的整型数据,只要将值付给a就行了,但指向指针的指针所存的元素比较特殊,存放的元素一般是存放地址的指针变量,比如我有三个指针变量,int *p1,*p2,*p3,那么我可以定义一个特殊的变量 int **p,我可以将p1的地址付给p,也可以将p2的地址付给p.比如p=&p1,那么p就代表了他所指向的变量p1或者p2的地址,而p所指向的变量是一个指针变量,*p代表着这个指针变量里面的值,**p代表着它所指向的指针变量的内容(地址)所指向的存储单元的内容

    二、在课堂或课后编程学习遇到的问题及解决过程

    问题1:空指针异常

    问题1的解决方案;计算号调用地址范围 防止指针指向错误地址

    问题2:指针的地址赋值会搞错

    问题2的解决方案:给指针复制时,如果是赋值整个数组则不用&符号 如果是单个地址则需要&符号

    问题3 :出现了错误的括号导致了结果错误

    问题2的解决方案:找到正确的括号对应处删除错误的括号

    三、作业

    1、

    #include<stdio.h>
    int main(){
      int a,i;
      char s[80],c;
      gets(s);
      c=getchar();
      for(i=0,a=0;s[i]!='';i++){
        if(s[i]==c){
          a++;
        }
      }
      printf("%d",a);
      return 0;
    }

    2、

    #include<stdio.h>
    #include<string.h>
    int main(){
        char s[5][20],*t;
        int i,j;
        for(i=0;i<5;i++){
            gets(s[i]);
        }
        for(i=0;i<5;i++){
            for(j=i+1;j<5;j++){
            if(strcmp(s[i],s[j])>0){
            strcpy(t,s[i]);
            strcpy(s[i],s[j]);
            strcpy(s[j],t);
            }
        }
        }
        printf("-----------
    ");
        for(i=0;i<5;i++){
            puts(s[i]);
        }
    }

    四、附加内容

  • 相关阅读:
    初识redis
    支付宝退款操作
    《地质灾害防治这一年2013》读书摘要
    地质灾害防治工作的经验和体会
    关于地质灾害防治的一些认识
    应急信息报送和值班工作的培训学习
    《地质灾害防治这一年2012》读书摘要
    关于开源GIS和商业GIS的讨论
    B树索引学习
    cordova 开发 ios app 简要流程
  • 原文地址:https://www.cnblogs.com/zxwd/p/8687806.html
Copyright © 2011-2022 走看看