码迷,mamicode.com
首页 > 其他好文 > 详细

第二次作业

时间:2018-04-07 22:56:34      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:意义   地址   编译   info   空间   输出   tchar   编程   swap   

一、学习内容总结
通过指针的部分学习,我知道了指针的作用是用来存放地址的。指针无论定义的是哪种数据类型占用的内存空间都是8字节,和数组对比我觉得,数组字符串里的字符是可以修改的,而指针定义字符串里的内容不能修改。知道 * 和 & 是互逆的两个运算符;swap的作用是交换两个变量的值,在指针中定义一个数组,代表的是数组的第一个元素地址,数组名代表数组的首地址。在指针加减中,当指针变量指向数组中的某一个地址时,指针变量加1后指向数组的下一个元素,指针变量减1时指向数组的前一个元素。
二、在课堂或课后编程学习遇到的问题及解决过程

·问题一
  在课下练习中,没有特别注意,例如:chars1[10]="1234567"; char*p; strcpy(p,s1); printf("%s",p); 在编译时没有错误,但是在运行时不对。因为使用了指针 p,但是在之前却没有对p赋值,所以不能将 s1 内容复制到 *p 中。
解决方案:因为使用了指针 p,但是在之前却没有对 p 赋值,所以不能将s1内容复制到 *p 中。
·问题二
  指针中*和&符号意义还没有完全记清楚。
解决方案:例如:在int * p=&a中*为了说明p是一个指向整形数据的变量,而在 *p=5 中 * 表示取p所指向内存的数据,所以 *p=a。
·问题三
  在交换函数时定义时出现错误。
解决方案:在编程中int * temp表示声明了一个指针变量,*a表示取 a 所指单元的数据,是一个int型变量,所以两者的数据类型不匹配导致出错。

三、作业

  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;
    }
    输出截图:
    技术分享图片
    四、附加内容
    技术分享图片

第二次作业

标签:意义   地址   编译   info   空间   输出   tchar   编程   swap   

原文地址:https://www.cnblogs.com/mayuxin/p/8734519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!