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

    一、学习内容总结
    1.指针事实上是一种数据类型,和int 基本类型一样。指针也是一种变量,占有内存空间,保存的是内存地址。
    2.指针变量的加减运算并不是简单的加上或减去一个整数,而是跟指针指向的数据类型有关。
    3.两个指针变量可以相减。若是两个指针变量指向统一个数组中的某个元素,那么相减的成效就是两个指针之间的元素个数。
    4.数组参数 等效的指针参数
        一维数组 char a[30] 指针 char*
        二维数组 char a[10][30] 数组的指针 char(*a)[30]

    二、在课堂或课后编程学习遇到的问题及解决过程
    问题一:一直不明白&a在指针中是这么操作的。
    问题一的解决方法:看了书才知道,是先进行&a运行运算,得到了a的地址,在去进行
    的运算,也就是说,&a与a等价。
    问题二:对于指针中的加加、减减。
    问题二的解决方法:
    (p--)先对p进行运算,再让p自减。
    (++p)先让p自加,再做运算。
    (--p)先让p自减,再做运算。
    问题三:不理解a+1和
    (a+1)的值为什么一样。
    问题三的解决方法:虽然是内容与地址的差别,,但a+1是二维数组中序号为一的首地址,而*(a+1)就是的a[1],也是地址,指向a[1][0],所以是一样的。

    1.完成PTA(指针字符串查找字符程序),粘贴代码,将输出截图(只截带结果的小图即可)。

    #include<stdio.h>
    #include<stdlib.h>
    
    main()
    {
    	char a[100],ch,*p;
    	p=a;
    	int count=0,i;
    	gets(a);
    	ch=getchar();
    	for(;*p!='';*p++)
    	{
    		if(*p==ch)
    		count++;
    		else continue;
    	}
    	printf("%d
    ",count);
    	
    }
    

    2.课后自行完成以二维数组形式对5个字符串进行排序(可冒泡可选择排序)

    #include<stdio.h>
    #include<string.h>
    #define N 5
    int main()
    {
      char ptr[N][80]={ "to","happy","birthday","you"};
      char *p[N];
      char *temp;
      int i,j;
      for(i=0;i<N;i++)  
          p[i]=ptr[i];
    
       for(i=0;i<N-1;i++)
          for(j=i;j<N-1;j++)
              if(strcmp(p[j],p[j+1])>0)
              {
                temp=p[j];
                p[j]=p[j+1];
                p[j+1]=temp;
              }
      for(i=0;i<N;i++)
          puts(p[i]);
    }
    

    四、附加内容

  • 相关阅读:
    移动端H5 QQ在线客服链接代码
    sql语句的优化技巧
    获取网页高度
    微信抽奖游戏
    H5中section和article标签之间的区别
    简易版九宫格相加数值相等
    两个单体内置对象_Global和Math
    特殊的引用类型
    引用类型-Array类型(二)~ 前端学习之路
    引用类型-Array类型~ 前端学习之路
  • 原文地址:https://www.cnblogs.com/WeiPeng-wuban/p/8734288.html
Copyright © 2011-2022 走看看