欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言中puts() putc() getchar() gets() getch() getche()的用法

程序员文章站 2022-07-08 11:56:53
一、puts() 输出字符串,遇到’\0’停止,并且把’\0’转换成回车换行 eg: #include int main(...

一、puts() 输出字符串,遇到’\0’停止,并且把’\0’转换成回车换行

eg:

#include
int main(){
    char a[] = "this is an example";
    puts(a);
    return 0;
}

也非常的好理解,字符串的最后是’\0’,所以上面这个例子的输出结果最后会有一个换行,注意下面这个例子
eg:

#include
int main(){
    int i;
    char a[20];
    for(i=0;i<20;i++){
        a[i] = 'b';
    }
    //遇到'\0'停止,并换行
    a[10] = '\0';
    puts(a);
    return 0;
}

上面这个例子只输出十个b,然后换行,因为碰到了’\0’

二、putc() 也是输出,可以针对字符数组,但是,只输出一个字符
eg:

#include
int main(){
    char a[] = "hello world\n";
    int i = 0;
    putc(a[i],stdout);
    printf("\n");
    while(a[i]){
        putc(a[i++],stdout);
    }
    return 0;
}

上例第一个putc输出的是字符h,第二个putc输出hello world换行,嗯,看例子自己理解

三、getchar() 可以输入一串字符,但只返回第一个
eg:

#include
int main(){
    char ch;
    ch = getchar();
    printf("输入的字符是:%c",ch);
    return 0;   
}

上例运行后键入abc,回车,ch得到的值只有a一个,屏幕上也只会显示a

四、gets() 从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址,一般利用gets函数的目的是向字符数组输入一个字符串,而不关心函数值
eg:

#include
int main(){
    char a[20];
    gets(a);
    printf("输入的字符串是%s\n",a);
}

*五、getch()和getche() 这两个函数都是用来输入一个字符,前者输入的东西不会显示在屏幕上,后者输入的字符会显示在屏幕上

注:这两个函数要另外加上头文件conio.h

getch()
eg:

#include 
#include 
int main(){
    char ch;
    ch = getch();
    printf("输入的字符是:%c",ch);
    return 0;
}

getche()
eg:

#include 
#include 
int main(){
    char ch;
    ch = getche();
    printf("输入的字符是:%c",ch);
    return 0;
}

嗯,自己运行代码试一下,就理解了