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]);
        }
    }

    四、附加内容

  • 相关阅读:
    DataGrip连接MySql数据库
    IDEA版本控制-Git
    IDEA关联MySql数据库
    ESXi平滑升级
    Dell服务器安装vGPU
    索引
    数据类型
    部署Zabbix监控平台
    部署Cacti监控平台
    常用系统监控命令
  • 原文地址:https://www.cnblogs.com/zxwd/p/8687806.html
Copyright © 2011-2022 走看看