小甲鱼 C语言 22课指针和数组
//实现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课指针和数组相关推荐
- c语言中数组的概念及作用,详解C语言中的指针与数组的定义与使用
指针的特点 他就是内存中的一个地址 指针本身运算 指针所指向的内容是可以操作的 操作系统是如何管理内存的 栈空间 4M~8m的大小 当进入函数的时候会进行压栈数据 堆空间 4g的大小 1g是操作系统 ...
- c语言数组实际作用,要玩转C语言 就要深入指针和数组这两个概念
原标题:要玩转C语言 就要深入指针和数组这两个概念 指针 预备知识 在深入理解指针之前,我认为有必要先复习或者学习一下计算机原理的基础知识. 计算机是如何从内存中进行取指的? 计算机的总线可以分为3种 ...
- 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义
目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...
- 学点 C 语言(22): 数据类型 - 多维数组与指针
为什么80%的码农都做不了架构师?>>> 1. 关于数组的首地址: #include <stdio.h>int main(void) {char cs[2][3] ...
- python编程练习(小甲鱼)第16-20课
1.将可迭代对象转化为列表,元组,字符串的内置函数 list() tuple() str() 2.区分reverse()和reversed(),为什么用法不一样 reverse()是python中列表 ...
- 小甲鱼第十九课:函数:我的地盘听我的课后总结
0. 下边程序会输入什么? def next():print('我在next()函数里...')pre() def pre():print('我在pre()函数里...')next() 我在next( ...
- c语言冒泡排序数组指针,c语言冒泡排序,指针,数组
冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复 ...
- IOS笔记-C语言中的指针与数组
1.指针与数组 1)指针与一维数组 i.数组指针(指向数组元素的指针) 类型 *指针变量名: 指针定义完成后要初始化(不想让指向任何内容,=0,=NULL) int a[10]; int *p = ...
- C语言杂谈:指针与数组 (上) (转)
转自:http://blog.jobbole.com/86400/ 介绍 1> 指针定义:指针是保存变量地址的变量. 2> 本文重点 >> 指针与数组之间的关系 >> ...
- c语言中通过指针引用数组,C语言基础(二)
指针引用数组 C语言规定:如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素. 引入指针变量后,就可以用两种方法来访问数组元素了.如果p的初值为&a[0],则: p+i和 ...
最新文章
- VC获取系统时间、程序运行时间
- Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
- android5.0(Lollipop) BLE Peripheral牛刀小试
- perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令
- Spring MVC——POST请求application/x-www-form-urlencoded方式参数嵌套POJO解决方案
- virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)
- 【Linux 驱动】第十章 中断处理
- 匹配 边覆盖 独立集 顶点覆盖
- 【剑指offer】31、栈的压入和弹出序列
- 在线合成车牌照片【模拟车牌,用于车牌识别项目测试】
- Sakai Demo搭建及遇到的问题汇总
- 【计算机视觉】exe视频转mp4、采集视频中图片记录、删除ABC看图王等软件
- markdown pad2注册码(2017年9月27日)
- thinkphp6事件监听event-listene
- Android 悬浮窗日志工具
- 【005】基于Vue.js及相关插件的仿微博移动版的单页应用(SPA)项目(含源码、运行教程)
- 日媒:争夺中国人才,跨国公司败北
- PHP定时执行计划任务
- Transformer的改进
- 【转载】六一节到了,别忘了给孩子讲讲很久以前的事