putchar与getchar
#include <stdio.h>
#include <stdlib.h>
void myputs(char*p) //此处的*号是标志,标志这P是一个指针
{ if(p==NULL)
{
printf("需要输出的字符串为空,请重新输入");
}
else
{
while(1)
{
putchar(*p++); //此处的* 号是运行的意思,只有在指针的定义的时候表示的才是标志,此处也是取出内容的意思
if(*p=='\0') //注意此处应当是对指针指向的指针,取出其中的内容,在进行判断,字符串最后的字符是'\n';
{
break;
}
}
}
}
//输入函数,函数的效果相当于gets();
void mygets(char*p)
{ if(p==NULL) //判断内存是否合法
{
printf("内存是非法的");
}
else{ printf("请输入字符串:");
while( *p=getchar()) //注意这样做的做法依然的可以,让while继续的循环。
{
//*p=getchar(); //将获取到的字符给指针变量 在进行输入的时候,应当注意首先将指针取地址。不然操作无效,给指着的复制是一样的效果。
if(*p=='\n') //判断键盘输入输入放入是不是换行字符
{
return ;//进行返回,结束程序
}
else{
p++; //将指针地址进行偏移
}
}
}
}
//实现数组的初始化。1.指针变量,初始化的对象 2。初始化的为什么字符 3。初始化的大小
void mymenset(char *p ,char c, int size)
{ while(size)
{
*p++=c;
size--;
}
}
int main()
{ char *p2=NULL; //避免定义的指针野指针,将其指向改为空。
p2=(char *)malloc(128); //空间的开辟
if(p2==NULL) //判断空间的开辟是否成功
{printf("空间开辟失败");
exit(-1); //关闭程序。
}
mymenset(p2,'\0',128); //空间的初始化,1.表示初始化的对象 2.表示初始化成的字符 3. 表示初始化的大小memset()函数
char *p="小明很帅!";
//puts(p);
//函数的调用
mygets(p2);
myputs(p2);
// myputs(p);
return 0;
}
最新文章
- css 居中问题
- win7&;win8.1 x64位系统下在VS2010下配置MPICH2&;测试&;解决scanf不能输入
- Base64加密工具-iBlogs
- noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T11——T20
- [SQL]合并字符串
- 第三百六十天 how can I 坚持
- jquery 的attr()方法解析
- CSS3圆角详解
- 为github帐号添加SSH keys
- WPF技术触屏上的应用系列(四): 3D效果图片播放器(图片立体轮放、图片立体轮播、图片倒影立体滚动)效果实现
- BZOJ 2083: [Poi2010]Intelligence test [vector+二分]
- C# 基于Bootstrap的三级联动
- 微信小程序开发小记
- Docker常见仓库Ubuntu
- 添加python虚拟环境
- Python进阶3---python类型注解、functools
- nginx+vsftp图片下载java代码上传
- Java归并排序的递归与非递归实现
- 爬虫_猫眼电影top100(正则表达式)
- BZOJ--1045-- 糖果传递(中位数,排序)
热门文章
- WPFApplication类
- SD卡之二:SD总线访问模式
- 看完复旦博士用Python统计核酸结果后,我照着也写了一个
- pandas子集选取的三种方法:[]、.loc[]、.iloc[]
- HTML5 Canvas 超逼真烟花绽放动画
- this-4
- 关于扑克牌的一些讨论——《Fluent Python 2》读书笔记
- 109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)
- 技术管理进阶——空降Leader如何开展工作?
- monit 命令详解(monit)