指向字符串的指针变量.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:16 大小:161KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

指向字符串的指针变量.ppt

指向字符串的指针变量.ppt

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

字符串的两种表示形式:2、字符指针的方式实现:char*p=“thisisabook!”;使用字符指针的间接访问运算符可以逐个访问字符串中的字符,也可以使用%s格式对字符串整体输入输出。例如:for(;*p!=‘\0’;p++)printf(“%c”,*p);printf(“%s\n”,p);输出结果为:aabcbc但是两个定义的差别很大:charch[]定义一个数组,ch是一个足以存放字符串和空字符‘\0’的一维数组的名字,也是首地址,它是一个常量,一旦定义,即使该数组中存储的字符串发生改变,它也不发生变化,总是指向同一存储区。char*p中的p是一个指针,其初值指向一个字符串常量,它存放的是该字符串的首地址(并不是该字符串的内容),之后它还可以被修改指向其他字符串,那么它就改为指向其它存储区,值随之发生变化。例:若字符数组mess和指向字符串的指针变量p的内容发生了变化,测试mess和p的值是否发生变化。典型例题1:编写字符串复制函数strcpy(s1,s2)用指针实现典型例题2:编写程序输出以下图形用字符指针实现思考:#include<stdio.h>main(){char*p=“*****”,*q;for(q=p+4;q>=p;q--)printf(“%s\n”,q);}学生练习:main(){chars[]=“97531”,c;c=‘6’;fun(s,c);puts(c);}fun(char*a,charb){while(*(a++)!=‘\0’);while(*(a-1)<b)*(a--)=*(a-1);*(a--)=b;}为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成密文。变换规则如下:小写z变为a,其它字母变换为该字母ASCII码顺序后1位的字母,比如Q变换为P.#include<stdio.h>#include<string.h>#defineMAXLINE100main(){charline[MAXLINE];printf(“Inputthestring:”);_________encrypt(line);printf(“%s%s\n”,”Afterbeingencrypted:”,line);}encrypt(char*s){for(;___;s++)if(*s==‘z’)_________else_________}作业: