#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. 【Azure 应用服务】Azure Function 启用 Managed Identity后, Powershell Funciton出现 ERROR: ManagedIdentityCredential authentication failed

    问题描述 编写Powershell Function,登录到China Azure并获取Azure AD User信息,但是发现遇见了 [Error] ERROR: ManagedIdentityCr ...

  2. linux开机报警无法进入系统

    一.开机无法进入系统提示如下 二.输入"journactl"命令查看红色的日志提示什么错误 三.问题分析: 这是由于swap告警,根据报错信息可以分析出是这两个device设备访问 ...

  3. 【链表】【leetCode高频】: 19. 删除链表的倒数第 N 个结点

    1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 2.算法分析 知识补充: . 分析: 题目要求是删除链表中倒数第N个结点.可以使用两个指针slow,fast. 重点是 ...

  4. 【Linux 网络编程】生动讲解 Reactor 模式与 Proactor 模式

    五种 I/O 模型 先花费点时间了解这几种 I/O 模型,有助于后面的理解. 阻塞 I/O 与非阻塞 I/O 阻塞和非阻塞的概念能应用于所有的文件描述符,而不仅仅是 socket.我们称阻塞的文件描述 ...

  5. typeScript类型总结

    1.对象类型 {} 用来指定对象中可以包含哪些属性,在属性名后加?表示属性是可选的 语法:{属性名:属性值类型,属性名:属性值类型} 示例: let a:{name:string,age?:numbe ...

  6. 更换国内镜像源进行pip安装

    Linux中当我们需要安装某个模块时(比如tensorflow2.0.0),常见有三种方法: pip install tensorflow==2.0.0 pip install https://pyp ...

  7. DOM操作标签,事件绑定,jQuery框架

    DOM操作标签 ''' 在起变量名的时候 如果该变量指向的是一个标签 那么建议使用 xxxEle eg:aEle\pEle\divEle\spanEle ''' 基本使用 动态创建一个标签 var 变 ...

  8. 【WPF】WPF开发用户控件、用户控件属性依赖DependencyProperty实现双向绑定、以及自定义实现Command双向绑定功能演示

    前言: Wpf开发过程中,最经常使用的功能之一,就是用户控件(UserControl)了.用户控件可以用于开发用户自己的控件进行使用,甚至可以用于打造一套属于自己的UI框架.依赖属性(Dependen ...

  9. SpringBoot从Eclipse添加的Tomcat容器中启动

    SpringBoot的Web项目,想要在Eclipse中的Tomcat容器中启动运行需要做下面这两处改动 pom.xml <packaging>war</packaging> ...

  10. 119_Power Pivot 长尾明细显示为【其他】

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近比较忙,太久不没有更新文章,确实没有好的素材,就写一个吧. 在关于产品数据分析的时候,我们经常关注的是主要的 ...