• 第二次作业


    一、学习内容总结

    指向指针的指针,可以这样理解,首先指向指针的指针可以把他看成一种特殊的变量,既然是变量就可以存储不同的元素,比如整形变量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]);
        }
    }

    四、附加内容

  • 相关阅读:
    tomcat bug之部署应用的时候经常会发上startup failed due to previous errors
    maven编译项目理解
    MyReport报表引擎2.6.5.0新功能
    PHP入门-摘要表格处理问题
    EnumMap源代码阅读器
    MySQL几种方法的数据库备份
    工作日志2014-08-19
    Linux通过网卡驱动程序和版本号的信息
    JS于,子类调用父类的函数
    hdu 5007 水 弦
  • 原文地址:https://www.cnblogs.com/zxwd/p/8687806.html
Copyright © 2020-2023  润新知