//实现strlen函数的功能#include <stdio.h>int main(void){char str[100];int i;printf("请输入一个字符串:");fgets(str,100,stdin);for(i=0;str[i]!='\0';i++){}printf("你总共输入了%d个字符!\n",i-1);return 0;
} //包含中文的
#include  <stdio.h>int main(void){char str[100];int i,cot=0;fgets(str,100,stdin);for(i=0;str[i]!='\0';i++){if((int)str[i]<0){i++;}cot++;} printf("你总共输了%d个字符!\n",cot-1);//fgets读取了回车所以最后要-1
}
//实现strcpy函数#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;printf("请输入一个字符串到str1中:"); fgets(str1,100,stdin);printf("开始拷贝str1的内容到str2中...\n"); while(*p1!='\0'){*p2++=*p1++;}printf("拷贝完毕!\n现在,str2的内容时:%s\n",str2);return 0;
} //加入中文的strncpy函数
#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;int n;printf("请输入一个字符串到str1中:");fgets(str1,100,stdin);printf("请输入需要拷贝的字符个数:");scanf("%d",&n);printf("现在开始拷贝str1的内容到str2中...\n");while(n-- && *p1!='\0'){if((int)*p1<0){*p2++=*p1++;}*p2++=*p1++; }printf("拷贝完毕!\n现在,str2的内容是:%s\n",str2);return 0;
} //实现strcat函数
#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;int i;printf("请输入第一个字符串:");fgets(str1,100,stdin);printf("请输入第二个字符串:");fgets(str2,100,stdin);while(*p1++!='\0')    ;p1-=2;while(*p2!='\0'){*p1++=*p2++;}printf("连接后的结果是:%s\n",str1);return 0;
} //实现strncat 函数(包含中文)#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;int n;printf("请输入第一个字符串:");fgets(str1,100,stdin);printf("请输入第二个字符串:");fgets(str2,100,stdin);printf("请输入需要连接的字符个数:");scanf("%d",&n);while(*p1++!='\0');p1-=2;while(n-- && &p2!='\0'){if((int)*p2<0){*p1++=*p2++;}*p1++=*p2++;}*p1='\0'; printf("连接后的结果是:%s\n",str1);return 0;
} //实现strcmp函数
#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;int index=1,flag=0;printf("请输入第一个字符串:");fgets(str1,100,stdin);printf("请输入第二个字符串:");fgets(str2,100,stdin);while(*p1!='\0' || *p2!='\0'){    //这里应该是||比较好,不要写&&//如果不是因为fgets最后还有个回车 if(*p1++!=*p2++){flag=1;break;}index++;}if(flag){printf("两个字符串不完全相同,第%d个字符串出现了不同!\n",index);}else{printf("两个字符串完全相同!\n");}return 0;
} //包含中文的版本#include <stdio.h>int main(void){char str1[100];char str2[100];char *p1=str1;char *p2=str2;int index=1,flag=0;printf("请输入第一个字符串:");fgets(str1,100,stdin);printf("请输入第二个字符串:");fgets(str2,100,stdin);int n;printf("请输入需要比较的字符个数:");scanf("%d",&n);while(n-- && (*p1!='\0' || *p2!='\0')){if((int)*p1<0){if(*p1++!=*p2++){flag=1;break;}}if(*p1++!=*p2++){flag=1;break;}index++;}if(flag){printf("两个字符串不完全相同,第%d个出现不同!\n",index);} else{printf("两个字符串完全相同!\n");}return 0;
} 

小甲鱼 C语言 22课指针和数组相关推荐

  1. c语言中数组的概念及作用,详解C语言中的指针与数组的定义与使用

    指针的特点 他就是内存中的一个地址 指针本身运算 指针所指向的内容是可以操作的 操作系统是如何管理内存的 栈空间 4M~8m的大小 当进入函数的时候会进行压栈数据 堆空间 4g的大小 1g是操作系统 ...

  2. c语言数组实际作用,要玩转C语言 就要深入指针和数组这两个概念

    原标题:要玩转C语言 就要深入指针和数组这两个概念 指针 预备知识 在深入理解指针之前,我认为有必要先复习或者学习一下计算机原理的基础知识. 计算机是如何从内存中进行取指的? 计算机的总线可以分为3种 ...

  3. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  4. 学点 C 语言(22): 数据类型 - 多维数组与指针

    为什么80%的码农都做不了架构师?>>>    1. 关于数组的首地址: #include <stdio.h>int main(void) {char cs[2][3] ...

  5. python编程练习(小甲鱼)第16-20课

    1.将可迭代对象转化为列表,元组,字符串的内置函数 list() tuple() str() 2.区分reverse()和reversed(),为什么用法不一样 reverse()是python中列表 ...

  6. 小甲鱼第十九课:函数:我的地盘听我的课后总结

    0. 下边程序会输入什么? def next():print('我在next()函数里...')pre() def pre():print('我在pre()函数里...')next() 我在next( ...

  7. c语言冒泡排序数组指针,c语言冒泡排序,指针,数组

    冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复 ...

  8. IOS笔记-C语言中的指针与数组

    1.指针与数组 1)指针与一维数组 i.数组指针(指向数组元素的指针) 类型  *指针变量名: 指针定义完成后要初始化(不想让指向任何内容,=0,=NULL) int a[10]; int *p =  ...

  9. C语言杂谈:指针与数组 (上) (转)

    转自:http://blog.jobbole.com/86400/ 介绍 1> 指针定义:指针是保存变量地址的变量. 2> 本文重点 >> 指针与数组之间的关系 >> ...

  10. c语言中通过指针引用数组,C语言基础(二)

    指针引用数组 C语言规定:如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素. 引入指针变量后,就可以用两种方法来访问数组元素了.如果p的初值为&a[0],则: p+i和 ...

最新文章

  1. VC获取系统时间、程序运行时间
  2. Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
  3. android5.0(Lollipop) BLE Peripheral牛刀小试
  4. perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令
  5. Spring MVC——POST请求application/x-www-form-urlencoded方式参数嵌套POJO解决方案
  6. virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)
  7. 【Linux 驱动】第十章 中断处理
  8. 匹配 边覆盖 独立集 顶点覆盖
  9. 【剑指offer】31、栈的压入和弹出序列
  10. 在线合成车牌照片【模拟车牌,用于车牌识别项目测试】
  11. Sakai Demo搭建及遇到的问题汇总
  12. 【计算机视觉】exe视频转mp4、采集视频中图片记录、删除ABC看图王等软件
  13. markdown pad2注册码(2017年9月27日)
  14. thinkphp6事件监听event-listene
  15. Android 悬浮窗日志工具
  16. 【005】基于Vue.js及相关插件的仿微博移动版的单页应用(SPA)项目(含源码、运行教程)
  17. 日媒:争夺中国人才,跨国公司败北
  18. PHP定时执行计划任务
  19. Transformer的改进
  20. 【转载】六一节到了,别忘了给孩子讲讲很久以前的事

热门文章

  1. 西门子PLC常用通信协议以及常用协议的区别(二)
  2. 操作系统进程调度算法总结
  3. 三菱Q系列plc串口通讯四台台达变频器通讯程序
  4. 基于激光雷达的3D实时车辆跟踪
  5. K8S知道,K9S呢?
  6. wsl使用ssh连接
  7. 视频教程-SPSS统计自动化-VBA脚本开发-其他
  8. 软件需求说明书-总务办公管理系统
  9. 机器学习从业者人手必备的8本书
  10. IDEA 强大文件对比功能