putchar()、getchar()、puts()、gets()

2024-05-23 21:08
文章标签 gets getchar putchar puts

本文主要是介绍putchar()、getchar()、puts()、gets(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果您只想获得输入的字符串,則可以使用getchar(),它直接取得输入的字符串并输出,如果只想要输出一个字符,則也可以直接使用putchar(),以下是个简单的示范:
#include <stdio.h>int main(void) {char c;printf("请输入一个字符:");c = getchar();putchar(c);putchar('\n');return 0;
}

 執行結果:

请输入一个字符:A
A

如果您输入了两个以上的字符,則getchar()会取得第一个字符,并将第二个字符留在缓存区中,直到你使用getchar()或scanf()再次尝试取得输入。

如果想要取得输入的整个字符串,則可以使用gets(),它会取得的输入字串,不包括按下Enter的换行符,而是输出整个字符串,也可以直接使用puts(),它在输出字符串后,会直接进行换行,例如:
#include <stdio.h>int main(void) {char str[20];puts("请输入字符串:");gets(str);puts("输入的字符串为:");puts(str);return 0;
}

char str[20]这行表示一个可以大小为20个字符,这是C语言中存储字符串的方式。

執行結果:
请輸入字符串:
This is a test!
输入的字符串为:
This is a test!

这篇关于putchar()、getchar()、puts()、gets()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996415

相关文章

c语言getchar()接收字符函数如何结束

int main(int argc, char* argv[]) {  double nc;  for(nc=0;getchar()!=EOF;nc++) {     putchar(c); }     printf("%f",nc);  return 0; } 当我们输入字符的时候,注意到,这个并没有按程序的逻辑输入一个就立刻打印出来,因为存在缓存问题,只有按enter键 才会将

C语言gets()与scanf()

先列举几种情况,以下的代码只有输入方式有变化: 1. #include<string>#include<math.h>using namespace std;int main(){char m[33];char n[33];gets(n);gets(m);printf("%s",m);//正常输出return 0;} 2. #include<string>#include<math.

c语言中getc getch getchar 的区别

getc():调用方式:int getc(FILE *stream)它返回指定输入流stream的当前位置的下一个字符,并增加文件的位置指示器. 例如:1 #include   2 #include //此头文件中包含了linux定义的常用常量   3  int main(int argv,char args[])   4  {   5         char ch;   6

《C语言杂记》C语言使用gets函数出现的警告问题

首先我们来看个程序。 #include <stdio.h>#include <string.h>int main(int argc, char *argv[]){char s[100];printf("输入字符串:\n");gets(s); printf("%s\n",s); return 0;} 但是在编译的时候回出现如下警告。 main.c: In function ‘main’

poj 2886 Who Gets the Most Candies?

单点更新,还有凡素数表,所谓反素数, 对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 定义:如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数. 现在给一个N,求出不超过N的最大的反素数. 比如:输入1000 输出 840 思维过程: 求[1..N]中最大的反素数-->求约数最多的数 如果求约数的个数

POJ 2886 Who Gets the Most Candies? (线段树,单点更新)

http://poj.org/problem?id=2886 Who Gets the Most Candies? Time Limit: 5000MS Memory Limit: 131072KTotal Submissions: 9426 Accepted: 2871Case Time Limit: 2000MS Description N children are sitt

编译安装libiconv报错:./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)

1. libiconv编译时遇到以下报错 In file included from progname.c:26:0:./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead")

C语言 gets函数 puts函数 getchar函数

gets函数从标准输入读取一行文本并把它存储于作为参数传递给它的数组中。 一行输入由一串字符组成,以一个换行符(newline)结尾。 gets函数丢弃换行符,并在改行的末尾存储一个NULL字节(一个NULL字节是指字节模式为全0的字节,类似’\0’这样的字符常量)。然后,gets函数返回一个非NULL值,表示该行已被成功读取。 当gets函数被调用,但事实上不存在输入行时,它就返回NULL值,表

scanf()、getchar()、gets()、cin之间的区别

问题描述一:(分析scanf()和getchar()读取字符)           scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序: 程序1:      #include <stdio.h>int main

gets 和getchar 的区别

https://blog.csdn.net/zqixiao_09/article/details/50189477 转载 非原创