#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;
}

putchar与getchar的更多相关文章

  1. C putchar() 和 getchar()

    C 库函数 int getchar(void)   从 终端输入获取一个字符 : 返回值:该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EO ...

  2. c/c++学习系列之putchar、getchar、puts、gets的运用

    如果您只想取得使用者输入的字元,則可以使用getchar(),它直接取得使用者輸入的字元并传回,如果只想要输出一個字元,則也可以直接使用putchar(),以下是个简单的例子: #include &l ...

  3. putchar()和getchar()使用解析

    1.putchar() 作用:输出一个字符 格式:putchar(c),c为输出参数 #include <stdio.h> int main() { char a1='A',b1='B'; ...

  4. fgetc,getc,fputc,putc,putchar,getchar

    转自 http://blog.csdn.net/todd911/article/details/8952565 输入输出函数家族 家族名                   目的           ...

  5. (十)C语言之putchar、getchar

  6. Linux C 字符函数 getchar()、putchar() 与 EOF 详解

    首先给出<The_C_Programming_Language>这本书中的例子: #include <stdio.h> int main() { int c; c = getc ...

  7. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  8. C语言中的getchar和putchar详解

    首先给出<The_C_Programming_Language>这本书中的例子: #include <stdio.h> int main(){    int c;     c ...

  9. C语言的puts(),gets(),putchar(),getchar()

    其实puts(),gets()属于字符串输入函数. putchar()与getchar()属于字符输入函数. 1.字符函数 #include<stdio.h> int main(){ ch ...

随机推荐

  1. 教你轻松解决CSRF跨站请求伪造攻击

    摘要:CSRF(Cross-site request forgery)跨站请求伪造,通过伪装来自受信任用户的请求来利用受信任的网站.与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也 ...

  2. WebSocket 协议详解

    一.WebSocket 协议背景 早期,在网站上推送消息给用户,只能通过轮询的方式或 Comet 技术.轮询就是浏览器每隔几秒钟向服务端发送 HTTP 请求,然后服务端返回消息给客户端. 轮询技术一般 ...

  3. 08. 树莓派安装MySQL

    1. 配置国内源(如果之前设置过可跳过步骤1~步骤2) vim /etc/apt/sources.list.d/raspi.list 2. 添加源 ,文档内原先的内容在开头加#号注释掉,加上下面这个 ...

  4. jmeter元件,作用域与优先级

    jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...

  5. Kubernetes 的这些原理,你一定要了解

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 作者:fredalxin地址:https://freda ...

  6. Docker容器的数据卷

    一.数据卷概念 1.数据卷是宿主机中的一个目录或文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 简单理解:有点类似 ...

  7. docker 1.1 介绍和安装

    1.docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现 ...

  8. 思科,华为l2tp组网,家庭宽带,公司内网数据分离

    拓扑 简介 办公网使用专线接入,拥有固定IP地址,网络出口使用防火墙做NAT,下联交换机接入服务器,办公电脑等,旁挂思科路由器做L2TP LNS 家庭宽带使用ADSL线路,华为路由器做拨号设备与DHC ...

  9. 讨论两种Redis中Token的存储方式

    摘要:本文讨论一个问题:存储token时,token与对应用户id谁来作为key? 问题起源问题起源于要给公司的后台管理系统添加权限管理,选用的是开源框架shiro,而原本系统上是采用token做了登 ...

  10. OpenStack 安装 Keystone

    OpenStack 安装 Keystone 本篇主要记录一下 如何安装 openstack的 第一个组件 keystone 认证授权组件 openstack 版本 我选的是queens 版本 1.Op ...